[SR-Users] Changing SDP with subst after rtpproxy_answer corrupts SDP

Matthias van der Vlies mvdvlies at gmail.com
Thu Jan 15 15:39:03 CET 2015


That's also a solution, but I prefer not dropping the 183 :)

Daniel's (the other one ;-)) suggestion was the solution in the end:

                        if(subst("/^o=somestuff ([0-9]+) ([0-9]+) IN IP4
(.*)$/o=somestuff \1 \1 IN IP4 \3/")) {
                                xlog("L_INFO", "Fixed Asterisk incorrect
version number in SDP");
                                msg_apply_changes();
                        }
                        rtpproxy_answer("wrei");

Now it's looking OK:

v=0
o=tismi 895007076 895007076 IN IP4 185.X.X.X
s=XXXXX
c=IN IP4 185.X.X.X
t=0 0
m=audio 39250 RTP/AVP 8 0 18 3 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
a=sdpmangled:yes

Matthias


On 01/15/2015 03:29 PM, Daniel Tryba wrote:
> On Thursday 15 January 2015 13:38:00 Matthias van der Vlies wrote:
>> I have an on-reply route that needs to change the SDP version for the
>> reply coming in. The use case is that I have a mobile originated call
>> and there is some Ericsson switch that doesn't like it when the SDP
>> version is updated (in this case by asterisk) although nothing has
>> changed to the actual SDP (183 session progress and then OK.)  Funny
>> thing is that Asterisk will actually drop a call if it receives a
>> re-INVITE with same version... That's why they invented
>> ignoresdpversion, but now it's the other way around.... :)
>>
>> Mobile phone -> Ericsson MSC -> ACME packet -> (18X.4X.XXX.XX) Kamailio
>> (10.41.0.21) -> Asterisk
> Sounds familiar (the Ericsson is the troublemaker), my solution was to upgrade 
> to asterisk 11.x. But since patching is not possible, I assume upgrading is 
> neither. A workaround was to drop the 183 message in kamailio to Ericsson:
>
> onreply_route[MANAGE_REPLY] {
>         xlog("incoming reply\n");
>         if(status=~"[12][0-9][0-9]")
>                 route(NATMANAGE);
>
>         if(status=="183")
>         {
>                 drop;
>         }
>
> ...
>




More information about the sr-users mailing list