[SR-Users] SDP c= address as a key for a key-value lookup?

Carsten Bock carsten at ng-voice.com
Tue Feb 19 17:03:47 CET 2013


you could simply retrieve the SDP-Body using the function from SDPOps Module:


And then search the according C-Line with a regular expression.
Or you could use the internal API, see print_sdp_session.

Kind regards,

2013/2/19 Hegner, Travis <THegner at trilliumit.com>:
> Hi All,
> I am working on a kamailio proxy with a very specific goal I need to
> accomplish.
> What I would like to do is a key-value lookup, utilizing the SDP’s media
> contact (c= line) IP as a key, and have a function return a value for that
> key. It appears that I can possibly accomplish this with the AVPops module,
> combined with DB_TEXT (maybe DB_MYSQL in the future) and a custom table with
> a custom query. The only thing I seem to be missing is the ability to
> extract the c= IP from the SDP, and store it as some kind of variable with
> which to do the lookup.
> I’ve looked into the iptrtpproxy module as it seems to have a select:
> @iptrtpproxy.sdp_ip that could work, but that module is extreme overkill for
> my purposes, and I am running into some issues getting it built for my
> platform (Ubuntu server 12.04). Also the documentation for that select
> states: “Return first rewritten IP provided at SDP c= line.” However, I’m
> looking for the original sdp_ip, and have some concern that this won’t
> return an IP that has not yet been re-written.
> My environment has a very specific 1:1 ratio of private network, to static
> public IP mappings. I currently have a successful OpenSER (1.3.2) deployment
> within this environment (running 5 years), which uses a hacked version of
> the old “mangler” module, with the function sdp_mangle_ip(<network>, <ip>).
> I could do something similar using textops->search_body() and
> nathelper->fix_nated_sdp(), but the risk of a typo or syntax error in the
> config file every time I have to make a change or add a network is fairly
> high. Less importantly, there is some extra overhead as the proxy will have
> to test for every network on every SDP looking for a match (this is what the
> current deployment does). Eventually I’d like to add a simple frontend to
> add/edit networks on the fly, so that no one is ever touching the config.
> What would you folks recommend for this? Should I look at building a custom
> module which only grabs the c= IP and stores it into an AVP? Am I not seeing
> another module that will expose that information for me already? Would it
> simply be easier to work on getting iptrtpproxy built, and utilizing it only
> for the purpose of extracting the information I need from the SDP?
> Any insight would be most greatly appreciated.
> Thanks,
> Travis Hegner
> ________________________________
> The information contained in this communication is confidential and is
> intended only for the use of the named recipient. Unauthorized use,
> disclosure, or copying is strictly prohibited and may be unlawful. If you
> have received this communication in error, you should know that you are
> bound to confidentiality, and should please immediately notify the sender or
> our IT Department at 866.459.4599.
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Carsten Bock
CEO (Geschäftsführer)

Die ng-voice GmbH ist auf der Kamailio World 2013, 16./17. April 2013
=> http://conference.kamailio.com/k01/

ng-voice GmbH
Schomburgstr. 80
D-22767 Hamburg / Germany

mailto:carsten at ng-voice.com

Office +49 40 34927219
Fax +49 40 34927220

Sitz der Gesellschaft: Hamburg
Registergericht: Amtsgericht Hamburg, HRB 120189
Geschäftsführer: Carsten Bock
Ust-ID: DE279344284

Hier finden Sie unsere handelsrechtlichen Pflichtangaben:

More information about the sr-users mailing list