Discussion:
Help with Asterisk setup to stop Openbsc registering handsets
Adam B
2013-07-05 10:47:10 UTC
Permalink
Dear Mailinglist

I am having a spot of bother with setting up asterisk with openbsc. I have gone with a basic setup from scratch LCR/ASTERISK/SIP minus mISDN as I dont require it and it would not compile it to my current kernel version in ubuntu 12.04 without downgrading it.

Anyway my problem is that I don't know how to prevent OpenBSC from using its own HLR and instead forward all phones that want to register to my nanoBTS to do so via Asterisk.

This is causing me grief because asterisk is its verbose logs is providing me this error when I try to make a call:

> -- Executing [8690 <at> phones:1] Dial("SIP/IMSI466974600011287-00000000",
> "SIP/IMSI466974104638690") in new stack
> [Dec 18 16:00:49] WARNING[2934]: app_dial.c:2218 dial_exec_full:
> Unable to create channel of type 'SIP' (cause 20 - Unknown)
> == Everyone is busy/congested at this time (1:0/0/1)
> -- Auto fallthrough, channel 'SIP/IMSI466974600011287-00000000'
> status is 'CHANUNAVAIL'

when I do show sip peers they are all offline because OpenBSC is registering my handsets and not passing on registration to Asterisk. I believe once OpenBSC is passing on registration all will be healthy with asterisk.

I don't have my configurations with me at the moment snipit above is from a google search, hopefully some helpful soul will know my blunders without my configs

Thank you all .

Regards

Adam





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20130705/7f1479de/attachment.html>
Harald Welte
2013-07-05 12:02:05 UTC
Permalink
On Fri, Jul 05, 2013 at 11:47:10AM +0100, Adam B wrote:
> Anyway my problem is that I don't know how to prevent OpenBSC from
> using its own HLR and instead forward all phones that want to register
> to my nanoBTS to do so via Asterisk.

This is how it is intended to function. You are using a NITB (network
in the box), which is explicitly specified to include a
HLR/AUC/VLR/MSC/BSC/SMSC functionality.

> This is causing me grief because asterisk is its verbose logs is
> providing me this error when I try to make a call:

Then your configuration is inconsistent. Either you have provisioned a
subscriber in the HLR (specifying his MSISDN as OsmoNITB 'extension'),
then it should also be known to your Asterisk installation. Or you have
not provisioned the subscriber, and then you never get a call.

Regards,
Harald
--
- Harald Welte <laforge at gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Alexander Chemeris
2013-07-05 13:18:48 UTC
Permalink
Adam,

On Fri, Jul 5, 2013 at 2:47 PM, Adam B <boardsofcanada at live.co.uk> wrote:
> Anyway my problem is that I don't know how to prevent OpenBSC from using its
> own HLR and instead forward all phones that want to register to my nanoBTS
> to do so via Asterisk.

Unfortunately, NITB doesn't have an external interface for
registrations yet and thus LCR can't forward them to SIP.

We use Freeswitch instead of Asterisk and there we configure
Freeswitch in "gateway" mode. In this mode where FS doesn't take
decision about a user availability bu itself, it just forwards all
calls to relevant interface (LCR SIP interface in this case).

Adding an external interface for user registration to NITB and
converting it to SIP would be a great step towards a more SIP-friendly
architecture. Feel free to contribute ;)

--
Regards,
Alexander Chemeris.
CEO, Fairwaves LLC / ??? ???????
http://fairwaves.ru
Adam B
2013-07-05 14:47:36 UTC
Permalink
Thanks guys for your help

I've been using OpenBTS too long and assumed setting up asterisk with the nanoBTS with NITB would operate with similar configurations. I couldnt quite understand why there was no pairing of IMSI's in the asterisk configs but that is all self explanitory now and thus I now have calls routing through (all be it with no audio yet!) but I am sure that will be solved easily. I am mainly wanting to use Asterisk integration so I can use this to inject SMS's and have full control of the entire PDU to send different types of SMS. I chose Asterisk purely because I have a set up to do this with openBTS but wanting to upgrade to nanoBTS. Maybe I am trying to create something that has no doubt been done before but I can't find any documentation on how send a full SMS-Deliver PDU in to the nanoBTS. Any knowledge or pointers here would be great, this is something that I wouldnt mind to contribute to if there is not this type of capability already available. Regards
Adam

> From: alexander.chemeris at gmail.com
> Date: Fri, 5 Jul 2013 17:18:48 +0400
> Subject: Re: Help with Asterisk setup to stop Openbsc registering handsets
> To: boardsofcanada at live.co.uk
> CC: openbsc at lists.osmocom.org
>
> Adam,
>
> On Fri, Jul 5, 2013 at 2:47 PM, Adam B <boardsofcanada at live.co.uk> wrote:
> > Anyway my problem is that I don't know how to prevent OpenBSC from using its
> > own HLR and instead forward all phones that want to register to my nanoBTS
> > to do so via Asterisk.
>
> Unfortunately, NITB doesn't have an external interface for
> registrations yet and thus LCR can't forward them to SIP.
>
> We use Freeswitch instead of Asterisk and there we configure
> Freeswitch in "gateway" mode. In this mode where FS doesn't take
> decision about a user availability bu itself, it just forwards all
> calls to relevant interface (LCR SIP interface in this case).
>
> Adding an external interface for user registration to NITB and
> converting it to SIP would be a great step towards a more SIP-friendly
> architecture. Feel free to contribute ;)
>
> --
> Regards,
> Alexander Chemeris.
> CEO, Fairwaves LLC / ??? ???????
> http://fairwaves.ru
>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20130705/df4bfdda/attachment.html>
Alexander Chemeris
2013-07-06 14:05:51 UTC
Permalink
Adam,

On Fri, Jul 5, 2013 at 6:47 PM, Adam B <boardsofcanada at live.co.uk> wrote:
> I am mainly wanting to use Asterisk integration so I can use this to inject
> SMS's and have full control of the entire PDU to send different types of
> SMS. I chose Asterisk purely because I have a set up to do this with openBTS
> but wanting to upgrade to nanoBTS.
>
> Maybe I am trying to create something that has no doubt been done before but
> I can't find any documentation on how send a full SMS-Deliver PDU in to the
> nanoBTS. Any knowledge or pointers here would be great, this is something
> that I wouldnt mind to contribute to if there is not this type of capability
> already available.

NITB supports SMPP, but having SIP MESSAGE support would be a great thing, imho.

--
Regards,
Alexander Chemeris.
CEO, Fairwaves LLC / ??? ???????
http://fairwaves.ru
Andreas Eversberg
2013-07-06 15:36:11 UTC
Permalink
Alexander Chemeris wrote:
> NITB supports SMPP, but having SIP MESSAGE support would be a great thing, imho.
you could add your own call control (instead of mncc_builtin or
mncc_sock (LCR)). then you would need to write a call control that links
MNCC to SIP. this is what is done at LCR (gsm.cpp, gsm_bs.cpp, sip.cpp),
you could use that code to parse and generate SIP/MNCC messages. if you
want a separate process, you can use the MNCC socket, but then you gonna
write what LCR already does.
Alexander Chemeris
2013-07-06 17:16:00 UTC
Permalink
On Sat, Jul 6, 2013 at 7:36 PM, Andreas Eversberg <andreas at eversberg.eu> wrote:
> Alexander Chemeris wrote:
>>
>> NITB supports SMPP, but having SIP MESSAGE support would be a great thing,
>> imho.
>
> you could add your own call control (instead of mncc_builtin or mncc_sock
> (LCR)). then you would need to write a call control that links MNCC to SIP.
> this is what is done at LCR (gsm.cpp, gsm_bs.cpp, sip.cpp), you could use
> that code to parse and generate SIP/MNCC messages. if you want a separate
> process, you can use the MNCC socket, but then you gonna write what LCR
> already does.

Well, in this case we're speaking about SMS, so MNCC is not exactly
related. SIP MESSAGE is a way to convey IM messages over SIP and there
is a profile for sending SMS over SIP MESSAGE, specified by 3gpp. A
short overview of this is available here:
http://betelco.blogspot.ru/2009/10/sms-over-3gpp-ims-network.html

Speaking of the SIP call control, having an mncc_sip with SIP as an
external interface is also a good idea, imho. An important difference
with mncc_sock in this case is that mncc_sip should be able to handle
timeouts and error cases on both GSM and SIP sides gracefully. I.e. if
a link with the SIP server is not 100% stable, it should maintain a
consistent state on the GSM side. So to me it looks more like an
extension to mncc_internal rather than mncc_sock. And for SIP side a
high-level library like reSIProcate/DUM or SofiaSIP should be used to
take care of all he corner and special cases of SIP protocol
(re-transmission, forking, encryption, TCP support, etc). Then we
would have an ideal SIP speaking solution, much better than OpenBTS.


--
Regards,
Alexander Chemeris.
CEO, Fairwaves LLC / ??? ???????
http://fairwaves.ru
Harald Welte
2013-07-08 08:57:48 UTC
Permalink
On Sat, Jul 06, 2013 at 06:05:51PM +0400, Alexander Chemeris wrote:

> NITB supports SMPP, but having SIP MESSAGE support would be a great thing, imho.

Anyone in need could write a SMPP to SIP MESSAGE translator, I presume.
SMPP specifications are public, and there are free software protocol
implementations in many programming languages.

I prefer to have one interface in OsmoNITB and external translators for
oter protocols _unless_ there is important information lost in
translation due to different levels of interfaces, etc.

--
- Harald Welte <laforge at gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Loading...