Osmo-sip-connector » History » Revision 28
Revision 27 (dexter, 02/06/2017 03:34 PM) → Revision 28/87 (dexter, 02/06/2017 03:35 PM)
h1. Osmo-sip-connector h2. Introduction 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. Sample configuration: <pre> app mncc socket-path /tmp/bsc_mncc sip local 10.9.10.105 5069 remote 10.9.10.105 5060 </pre> Running osmo-sip-connector: <pre> osmo-sip-connector -c ~/.config/osmocom/osmo-sip-connector.cfg </pre> Running NITB: <pre> ./src/osmo-nitb/osmo-nitb -c ~/.config/osmocom/open-bsc.cfg -l ~/.config/osmocom/hlr.sqlite3 -d DLMUX:DRTP -m </pre> 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. *Note:* in attached kamailio.cfg, for 64bit systems, you may need to adjust <pre> mpath="/usr/lib/x86_64-linux-gnu/kamailio/modules/" </pre> 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 h2. Asterisk howto 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: {{graphviz_link() digraph G{ //rankdir = LR; Phone -> BTS [label = "Um"]; BTS -> "osmo-nitb" [label = "A.bis"]; "osmo-nitb" -> "osmo-sip-connector" [label = "mncc"]; "osmo-sip-connector" -> "asterisk" [label = "sip"]; "BTS" -> "asterisk" [label = "rtp"]; } }} h3. Preparations 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. * Install dependancies: dependancies The extension we are about to make requires to install some additional packages. <pre> sudo apt-get install libsofia-sip-ua-glib-dev sudo apt-get install asterisk </pre> * Install osmo-sip-connector: osmo-sip-connector The installation of osmo-sip-connector is as straight forward as you know it already from other osmocom projects: <pre> git clone git://git.osmocom.org/osmo-sip-connector.git cd osmo-sip-connector/ autoreconf -fi ./configure make sudo make install </pre> h3. Configuration * Osmo-nitb: Osmo-nitb 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”: <pre> osmo-nitb -c ./openbsc.cfg -d option –debug=DRLL:DCC:DMM:DRR:DRSL:DNM -M /tmp/bsc_mncc </pre> 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. * osmo-sip-connector Osmo-sip connector acts as a translator between the classic ISDN mncc and SIP. The configuration is rather simple. <pre> app mncc socket-path /tmp/bsc_mncc sip local 10.9.1.110 5069 remote 10.9.1.110 5060 </pre> 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. 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: <pre> osmo-sip-connector -c ./osmo-sip-connector.cfg </pre>