On Sat, Jul 6, 2013 at 7:36 PM, Andreas Eversberg andreas@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