Project

General

Profile

Osmo-sip-connector » History » Version 30

dexter, 02/06/2017 03:37 PM

1 1 msuraev
h1. Osmo-sip-connector
2
3 18 dexter
h2. Introduction
4
5 1 msuraev
osmo-sip-connector translates between MNCC and SIP protocols. It does not handle RTP by itself but with the help of external SIP server it can be used for tests.
6 2 msuraev
7
Sample configuration:
8
9
<pre>
10
app
11
mncc
12
  socket-path /tmp/bsc_mncc
13
sip
14
  local 10.9.10.105 5069
15
  remote 10.9.10.105 5060
16
</pre>
17
18
Running osmo-sip-connector:
19
<pre>
20
osmo-sip-connector -c ~/.config/osmocom/osmo-sip-connector.cfg
21
</pre>
22
23 3 msuraev
Running NITB:
24
<pre>
25
./src/osmo-nitb/osmo-nitb -c ~/.config/osmocom/open-bsc.cfg -l ~/.config/osmocom/hlr.sqlite3 -d DLMUX:DRTP -m
26
</pre>
27
28 4 msuraev
The configuration above assumes that SIP server is running on the same machine. Attached is example configuration file for Kamailio https://www.kamailio.org SIP server which can be used to route calls between mobile phones. It also handles 2 special numbers 500 (routed to sip:music@iptel.org) and 600 (routed to sip:echo@iptel.org): by dialing them you can use echo test or hear nice music from your mobile.
29 2 msuraev
30 7 neels
*Note:* in attached kamailio.cfg, for 64bit systems, you may need to adjust
31
<pre>
32
mpath="/usr/lib/x86_64-linux-gnu/kamailio/modules/"
33
</pre>
34
35 2 msuraev
N. B: Those numbers are meant only as an example for quick tests - please consider running your own Asterisk instance if you expect more than couple of calls, do not abuse http://www.iptel.org/service
36 8 dexter
37
38 18 dexter
h2. Asterisk howto
39 8 dexter
40 20 dexter
This howto was created and tested using Debian 8.7.1. It is assumed that there is already a working installation of osmo-nitb already exists. In the following steps we will show how to integrate an existing installation with asterisk using osmo-sip-connector. The following image illustrates how the network components wile be laid out:
41 17 dexter
42 8 dexter
{{graphviz_link()
43
digraph G{
44
  //rankdir = LR;
45 9 dexter
  Phone -> BTS [label = "Um"];
46 13 dexter
  BTS -> "osmo-nitb" [label = "A.bis"];
47 14 dexter
  "osmo-nitb" -> "osmo-sip-connector" [label = "mncc"];
48 15 dexter
  "osmo-sip-connector" -> "asterisk" [label = "sip"];
49 16 dexter
  "BTS" -> "asterisk" [label = "rtp"];
50 8 dexter
}
51
}}
52 21 dexter
53
h3. Preparations
54
55 24 dexter
As we assume that we use an existing and working osmo-nitb configuration as a starting point most of the relevant dependencies are already installed. However, we still miss osmo-sip-connector and asterisk as a major components.
56 23 dexter
57 28 dexter
* Install dependancies:
58 21 dexter
The extension we are about to make requires to install some additional packages.
59
<pre>
60
sudo apt-get install libsofia-sip-ua-glib-dev
61
sudo apt-get install asterisk
62 1 msuraev
</pre>
63 21 dexter
64 28 dexter
* Install osmo-sip-connector:
65 21 dexter
The installation of osmo-sip-connector is as straight forward as you know it already from other osmocom projects:
66
<pre>
67
git clone git://git.osmocom.org/osmo-sip-connector.git
68
cd osmo-sip-connector/
69
autoreconf -fi
70
./configure
71
make
72
sudo make install
73
</pre>
74 27 dexter
75
76
h3. Configuration
77
78 28 dexter
* Osmo-nitb:
79 27 dexter
Osmo-nitb does not require any change of of its configuration. The connection between osmo-sip-connector is configured using the command line option “-M”:
80
<pre>
81 1 msuraev
osmo-nitb -c ./openbsc.cfg -d option –debug=DRLL:DCC:DMM:DRR:DRSL:DNM -M /tmp/bsc_mncc
82
</pre>
83
The “-M” option disables the internal call control handler of osmo-nitb and offers an unix domain socket, where an external call control handler can be connected. In the described situation this will be osmo-sip-connector.
84 28 dexter
85
86
* osmo-sip-connector
87
Osmo-sip connector acts as a translator between the classic ISDN mncc and SIP. The configuration is rather simple.
88
<pre>
89
app
90
mncc
91
  socket-path /tmp/bsc_mncc
92
sip
93
  local 10.9.1.110 5069
94
  remote 10.9.1.110 5060
95
</pre>
96 30 dexter
Again, we have to setup a socket path. This path has to be the same as we provided with the commandline option “-M” for osmo-nitb earlier. For SIP we need to setup a remote and local IP-Address and port. In most cases Asterisk and osmo-sip-connector will run on one and the same machine, so it is ovious that local and remote IP-Address are the same. The type of connection between osmo-sip-connector and Asterisk is a classic SIP-Trunk. For asterisk it appears as just another PBX. Osmo-sip-connector is started via commandline as follows:
97 28 dexter
<pre>
98
osmo-sip-connector -c ./osmo-sip-connector.cfg
99
</pre>
Add picture from clipboard (Maximum size: 48.8 MB)