[OpenSIPS-Users] rtp port changed in REPLY's SDP after announcement

Marco Hierl marco.hierl at next-id.de
Tue Nov 21 04:07:12 EST 2017


Dear all,

I want to play an early announcement before connecting a call. The announcement can be heard by the caller, but the callee can't hear the caller after the call is connected!

To be more precise:
The openSIPS proxy receives a call from an external interconnection partner (public IP on external interface) and sends it on to an announcement server (private IP on internal interface).
After REPLY 183 the announcement starts and the caller can hear the announcement. It finishes with REPLY603 that comes to the openSIPS failure route. Some stuff is done (e.g. changing R-URI),
a new t_relay will be done and an INVITE is send to the callee (public IP on external interface). The callee sends 200ok, it's forwarded to the caller, that sends ACK like usual.
But the caller does not send RTP to the IP/PORT indicated in the 200OK.

The interconnection partner said that the problem is, that the RTP port in REPLY 183 is different to that in REPLY200 (not allowed, see RFC6337).  (just to mention: the to-tag is different too)
I'm using openSIPS 2.3 and in order to overcome the issue with internal and external addresses and also to keep the rtp streams I'm using rtpengine 5.4 (on a different machine)


Is the change of the RTP Port allowed in this way? If not, what I can do better? Or is it a fault from rtp-engine, should it keep the first port?
Any help is very appreciated!


I tried to make a picture... maybe it helps a bit to understand what I was not able to explain above...


No From       To         Message
1 external   ownProxy   Request:  INVITE sip:+49xxx at us.de;user=phone
2 ownProxy   external   Status:   100 Giving a try
                                                   rtpengine_offer(external internal replace-session-connection ICE=remove trust-address replace-origin)
 3                                                 to   announcement server  Request: INVITE sip:ANNC at mediaserver:5060;user=phone |
 4                                                 from announcement server  Status: 100 Trying |
 5                                                 from announcement server  Status: 183 Session Progress |
                                                                             o=root 1135152900 1135152900 IN IP4 mediaserver
                                                                             m=audio 13788 RTP/AVP 8 101
                                                   rtpengine_answer(internal external replace-session-connection ICE=remove trust-address replace-origin)
 6 ownProxy   external   Status:   183 Session Progress
                                       o=root 1135152900 1135152900 IN IP4 ownProxy
                                       m=audio 23024 RTP/AVP 8 101

 < ========== ANNOUNCEMENT ========= >
 7                                                 from announcement server  Status: 603 Declined

                                                   openSIPS failure route
                                                   and rtpengine_offer(external external replace-session-connection ICE=remove trust-address replace-origin)
                                                   and new t_relay
 8                                                 to   callee   Request: INVITE sip:bob at externalcarrier:5060;user=phone
9                                                 from callee   Status: 100 Trying
10                                                 from callee   Status: 200 OK
                                                                         o=- 239036129 823630844 IN IP4 10.0.203.7
                                                                         m=audio 1044 RTP/AVP 8 101
                                                   rtpengine_answer(external external replace-session-connection ICE=remove trust-address replace-origin)

11 ownProxy   external   Status:   200 OK
                                       o=- 239036129 823630844 IN IP4 ownProxy
                                       m=audio 23056 RTP/AVP 8 101

 < ==========    RTP from B to A is ok,   A send NO RTP to B   ========= >

12 external   ownProxy   Request:  ACK sip:ownProxy;did=5db.a2833e17
13 external   ownProxy   Request:  BYE sip:ownProxy;did=5db.a2833e17
14 ownProxy   external   Status:   200 OK



version: opensips 2.3.0 (x86_64/linux)
flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
git revision: fe0ebcb45
main.c compiled on 09:02:02 Sep 14 2017 with gcc 6.3.0

rtpengine version 5.4.0.0+0~mr5.4.0.0 git-master-a9d55c6



Thanks and best regards!!!
  Marco



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20171121/f9914a88/attachment-0001.html>


More information about the Users mailing list