[Freeswitch-users] rtp port update after reinvite when initiator is behind nat

lionelfont at free.fr lionelfont at free.fr
Fri Jan 13 01:23:23 MSK 2017


Hi,

i'm an user from freeswitch because my trunk's provider is using a freeswitch.

i can't give you the configuration using by my provider and i can't give you any trace from freeswitch

but i'd like explain my problem to know if anyone have an idea from what can cause my issue.

My situation:

       Freeswitch (public ip A.A.A.A) <----> WAN <---> (my public ip B.B.B.B) FIREWALL <----> (my private ip C.C.C.C) IPBX ALCATEL

       During a call, after invite or reinvite, Freeswitch send me RTP DATA on wrong RTP port... 

       For sample:
           I receive a call, after invite from FS and OK from my IPBX, we have a communication who is good. We hear on the two sides.
               FS<-> A.A.A.A:RTPA1 -------- B.B.B.B:RTPB1 ---------------- C.C.C.C:RTPC1 <> IPBX

           If i need to hold the call, all is ok. My holding music is hearing.
           FS<-> A.A.A.A:RTPA1 -------- B.B.B.B:RTPB1 ---------------- C.C.C.C:RTPC1 <> IPBX
           FS<-- A.A.A.A:SIPA1 -------- B.B.B.B:SIPB1  -------------- C.C.C.C:SIPC1 <-- IPBX (INVITE)
          (OK) FS --> A.A.A.A:SIPA1 ------- B.B.B.B:SIPB1 -------------- C.C.C.C:SIPC1 --> IPBX
           FS<-> A.A.A.A:RTPA1 -------- B.B.B.B:RTPB2 ---------------- C.C.C.C:RTPC2 <> IPBX


           But when i unhold the call, "randomly", FS send me RTP DATA on the RTP port used before the unhold.. And we have no sound on the two sides...  

           Case good:
           FS<-> A.A.A.A:RTPA1 -------- B.B.B.B:RTPB2 ---------------- C.C.C.C:RTPC2 <> IPBX
           FS<-- A.A.A.A:SIPA1 -------- B.B.B.B:SIPB1  -------------- C.C.C.C:SIPC1 <-- IPBX (INVITE)
          (OK) FS --> A.A.A.A:SIPA1 ------- B.B.B.B:SIPB1 -------------- C.C.C.C:SIPC1 --> IPBX
           FS<-> A.A.A.A:RTPA1 -------- B.B.B.B:RTPB3 ---------------- C.C.C.C:RTPC3 <> IPBX
        

           Case bad:
           FS<-> A.A.A.A:RTPA1 -------- B.B.B.B:RTPB2 ---------------- C.C.C.C:RTPC2 <> IPBX
           FS<-- A.A.A.A:SIPA1 -------- B.B.B.B:SIPB1  -------------- C.C.C.C:SIPC1 <-- IPBX (INVITE)
          (OK) FS --> A.A.A.A:SIPA1 ------- B.B.B.B:SIPB1 -------------- C.C.C.C:SIPC1 --> IPBX
           FS<-- A.A.A.A:RTPA1 -------- B.B.B.B:RTPB3 ---------------- C.C.C.C:RTPC3 <-- IPBX
           FS--> A.A.A.A:RTPA1 -------- B.B.B.B:RTPB2 ---------------- C.C.C.C:RTPC2 --> IPBX


I don't understand why the rtp port is not good updating by freeswitch randomly. I know freeswitch don't use the port that my IPBX give in INVITE packet because it's not the good with the nat from my firewall. I suppose that's the "NDLB-connectile-dysfunction" who is used by freeswitch to find the good rtp port.

If with a little congestion, Freeswitch receive after my reinvite, one or two RTP packet from previous RTP DATA, Freeswitch can use the wrong RTP port? Is there a parameter to ignore after reinvite the five first RTP packet to autoadjust the RTP port?

Thanks to all helping and sorry for my poor english.

Best regards




Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list