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> |