[Freeswitch-users] FS merges RE-INVITE request into 200 OK

Mickael Hubert mickael at winlux.fr
Thu Oct 17 07:55:37 UTC 2019


Hi all,
Thanks to my friend, Vallimamod Abdullah. We have found origin of this
issue.
Freeswitch is configured to be bypass media.
When asterisk (version 15) bridge call with differents codecs, it sends
RE-INVITE very quickly.
FS receives this reinvite before sends 200OK to sip provider, and in this
case it replaces the SDP into 200OK with RE-INVITE sdp.

I coundn't correct this issue, I had to downgrade version of asterisk to be
13.29. This version doesn't reinvite.
The second workaround should be copy asterisk's codecs from leg A to leg B.

Thanks a lot Valli ;)

++

Le mar. 15 oct. 2019 à 11:13, Mickael Hubert <mickael at winlux.fr> a écrit :

> Hi list,
> I have a sympathetic "issue" or miss-configuration with FS.
> SIP provider <--> FS <--> Opensips <--> Asterisk
>
> After long investigation, I saw FS merge a RE-INVITE request from Asterisk
> into 200OK to provider. ONly when I have 183 session progress
>
> Ex:
> *SDP INVITE from Provider (SIP provider -->FS)*
>
> v=0
> o=Sonus_UAC 7950 990 IN IP4 ********
> s=SIP Media Capabilities
> c=IN IP4 *********
> t=0 0
> m=audio 22970 RTP/AVP 8 18 2 101
> a=rtpmap:8 PCMA/8000
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=no
> a=rtpmap:2 G726-32/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> a=sendrecv
> a=ptime:20
>
>
> *SDP INVITE from FS to asterisk (FS --> Opensips --> Asterisk)*
> v=0
> o=Sonus_UAC 7950 990 IN IP4 ********
> s=SIP Media Capabilities
> c=IN IP4 ******
> t=0 0
> m=audio 22970 RTP/AVP 8 18 2 101
> a=rtpmap:8 PCMA/8000
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=no
> a=rtpmap:2 G726-32/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> a=ptime:20
>
> *183 from asterisk (Asterisk --> Opensips --> FS)*
> v=0
> o=- 7950 992 IN IP4 10.1.15.89
> s=Asterisk
> c=IN IP4 10.1.15.89
> t=0 0
> m=audio 14096 RTP/AVP 8 18 101
> a=rtpmap:8 PCMA/8000
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=no
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=ptime:20
> a=maxptime:150
> a=sendrecv
>
>
> *183 from FS to SIP provider (FS --> provider)*
> v=0
> o=- 7950 992 IN IP4 *******
> s=Asterisk
> c=IN IP4 *******
> t=0 0
> m=audio 18344 RTP/AVP 8 18 101
> a=rtpmap:8 PCMA/8000
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=no
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=maxptime:150
> a=rtcp:18345
> a=ptime:20
>
>
> *200OK from asterisk to FS (asterisk --> FS) (same code than 183)*
> v=0
> o=- *7950 992* IN IP4 10.1.15.89
> s=Asterisk
> c=IN IP4 10.1.15.89
> t=0 0
> m=audio 14096 RTP/AVP *8 18 101*
> a=rtpmap:8 PCMA/8000
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=no
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=ptime:20
> a=maxptime:150
> a=sendrecv
>
> *RE-INVITE from asterisk (very close to 200OK)*
> v=0
> o=- *7950 993* IN IP4 10.1.15.89
> s=Asterisk
> c=IN IP4 10.1.15.89
> t=0 0
> m=audio 14096 RTP/AVP *8 0 18 101*
> a=rtpmap:8 PCMA/8000
> a=rtpmap:0 PCMU/8000
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=no
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=ptime:20
> a=maxptime:150
> a=sendrecv
>
>
> *Final 200OK from FS to sip provider (FS --> sip provider)*
> v=0
> o=- *7950 993* IN IP4 ******
> s=Asterisk
> c=IN IP4 ******
> t=0 0
> m=audio 18344 RTP/AVP *8 0 18 101*
> a=rtpmap:8 PCMA/8000
> a=rtpmap:0 PCMU/8000
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=no
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=maxptime:150
> a=rtcp:18345
> a=ptime:20
>
> We can see FS receives REINVITE close to 200OK from asterisk, it doesn't
> send original 200OK to SIP provider, but "merge" 200OK with sdp from
> REINVITE (from asterisk) ==> same owner and codecs (7950 / 993).
> - owner 200OK from asterisk: 7950 992 / codecs: 8 18 101
> - owner REINVITE from asterisk: 7950 993 / codecs: 8 0 18 101
> - owner 200OK from FS to SIP provider: 7950 993 / codecs: 8 0 18 101
>
> After that, FS never sends 200OK to the asterisk's REINVITE and opensips
> hangup call avec timeout (2 mins) (cf call flow in attachment).
>
> Do you already saw that ? How can I correct this please ?
>
> thanks in advance
>
> PS:
> - FreeSWITCH Version 1.10.1-release+git~20190820T165404Z~f9990221e6~64bit
> (git f999022 2019-08-20 16:54:04Z 64bit)
> - I use
> <param name="inbound-late-negotiation" value="true"/>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20191017/32e98679/attachment.html>


More information about the FreeSWITCH-users mailing list