Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Caller changes origination udp port in the middle of the call #119

Open
mrsanvicente opened this issue Apr 26, 2021 · 4 comments
Open

Caller changes origination udp port in the middle of the call #119

mrsanvicente opened this issue Apr 26, 2021 · 4 comments

Comments

@mrsanvicente
Copy link

Hello there,

I have a setup running bridge configuration with work fine. But i have some calls getting no audio after a while.

I captured a trace and followedup up udp streams, and noticed that after 12 - 13 mins, the caller ( softphone) changes the source udp port, with no notification. Is this a normal behavior?
Should the rtp sesssion update / reply to the media source port?

Example:
The source udp port from the caller changes from 30556 to startron without any notice. Should RTPPROXY update it?

Apr 24 10:45:52 181-15-35 rtpproxy[1994]: INFO:[email protected]:rtpp_command_ul_handle:493: lookup on ports 43002/43088, session timer restarted
Apr 24 10:45:53 181-15-35 rtpproxy[1994]: INFO:[email protected]:rtpp_command_ul_handle:493: lookup on ports 43002/43088, session timer restarted

Capturing traffic:

32954/43088

575 2.869774194 x.130.55.153 -> x.x.15.35 UDP 216 Source port: 30556 Destination port: 43088
576 2.870557402 10.205.4.72 -> 10.205.4.70 UDP 216 Source port: 32954 Destination port: 56022
577 2.880036359 10.205.4.70 -> 10.205.4.72 UDP 216 Source port: 56022 Destination port: 32954
578 2.880556797 x.x.15.35 -> x.130.55.153 UDP 216 Source port: 43088 Destination port: 30556

After 12 -13 mins

669 3.392016613 x.130.55.153 -> x.x.15.35 UDP 216 Source port: startron Destination port: 43088
670 3.392346246 10.205.4.72 -> 10.205.4.70 UDP 216 Source port: 32954 Destination port: 56022
671 3.402140502 10.205.4.70 -> 10.205.4.72 UDP 216 Source port: 56022 Destination port: 32954
672 3.402323698 x.x.15.35 -> x.130.55.153 UDP 216 Source port: 43088 Destination port: 30556

Thank you

@sobomax
Copy link
Member

sobomax commented May 20, 2021

Hi Mario, yes, this is not a normal behavior and of course SIP mandates the softphone to update session info in such situation by issuing proper re-INVITE. The best way to deal with it is to report back to softphone developers and persuade them to fix it.

There is no feature in the RTPproxy currently to workaround this broken behaviour, however if you can recompile RTPproxy then you can try setting UPDATE_WINDOW, which governs amount of time RTPproxy would accept and re-latch RTP after initial INVITE or subsequent re-INVITE, from its stock value of 10 seconds to some much larger value, say 1 hour (i.e. 3600 seconds) or more. Then if the IP changes, the proxy would just take IP of the first RTP packet from new IP and update its destination accortingly. The setting is as below:

src/rtpp_defines.h:#define      UPDATE_WINDOW   10.0    /* in seconds */

Let me know if it helps, I'll close off the ticket. Thanks!

@mrsanvicente
Copy link
Author

mrsanvicente commented May 26, 2021 via email

@mrsanvicente
Copy link
Author

mrsanvicente commented Jul 13, 2021 via email

@mrsanvicente
Copy link
Author

Hello,

Finally solved:

To solve:

/usr/local/bin/rtpproxy: error while loading shared libraries: libelperiodic.so.1: cannot open shared object... directory

We should add the PATH to $LD_LIBRARY_PATH:

This ways works:

create a new file in /etc/ld.so.conf.d/ like /etc/ld.so.conf.d/usrlocal.conf and add the path:

/usr/local/lib

Then just run ldconfig -v as root and that's it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants