Discussion:
[SR-Users] rtpengine symmetric RTP behavior
Narsay, Deep
2014-08-11 18:34:36 UTC
Permalink
Hello,

Is there any way rtpengine can be configured to use same UDP port to
receive and transmit RTP packets?

The set up I'm trying is

SIP_Client --> Kamailio/rtpengine --> Freeswitch
Internet Internet LAN LAN 192.168.1.10

I tried *rtpengine_offer * in kamailio.cfg,
but rtpengine seems to always use different ports to Tx/Rx the packets.
(Causing Freeswitch to auto adjust its ports, which mutes the audio
channel one way).

*rtpengine_offer("force symmetric media-address=192.168.1.10 replace-origin
replace-session-connection ICE=remove");*

*Thank you,*
* - Deep N*
Andreas Granig
2014-08-11 20:43:16 UTC
Permalink
Hi,
Post by Narsay, Deep
Is there any way rtpengine can be configured to use same UDP port to
receive and transmit RTP packets?
The set up I'm trying is
SIP_Client --> Kamailio/rtpengine --> Freeswitch
Internet Internet LAN LAN 192.168.1.10
I tried /rtpengine_offer / in kamailio.cfg,
but rtpengine seems to always use different ports to Tx/Rx the packets.
(Causing Freeswitch to auto adjust its ports, which mutes the audio
channel one way).
Well, rtpengine actually uses the same port to send and receive traffic
towards a UA. However, it uses two different ports for the two parties,
which shouldn't be an issue, because Freeswitch will only see the one
port towards itself.

Andreas
Narsay, Deep
2014-08-11 21:04:04 UTC
Permalink
Hello Andreas,

Yes, that's what I had thought, but

I am actually seeing it using two different UDP ports towards Freeswitch
(send=40036 and recv=40042)

and two more ports towards SIP Client (send=40038, and recv=40040).

I am wondering if there is any setting (or flag at compilation time) that
will make it symmetric.

This rtpengine is daemon only, (not using kernel module).

Thank you,
- Deep N
Post by Andreas Granig
Hi,
Post by Narsay, Deep
Is there any way rtpengine can be configured to use same UDP port to
receive and transmit RTP packets?
The set up I'm trying is
SIP_Client --> Kamailio/rtpengine --> Freeswitch
Internet Internet LAN LAN 192.168.1.10
I tried /rtpengine_offer / in kamailio.cfg,
but rtpengine seems to always use different ports to Tx/Rx the packets.
(Causing Freeswitch to auto adjust its ports, which mutes the audio
channel one way).
Well, rtpengine actually uses the same port to send and receive traffic
towards a UA. However, it uses two different ports for the two parties,
which shouldn't be an issue, because Freeswitch will only see the one
port towards itself.
Andreas
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Frank Carmickle
2014-08-11 21:40:12 UTC
Permalink
Post by Narsay, Deep
Hello Andreas,
Yes, that's what I had thought, but
I am actually seeing it using two different UDP ports towards Freeswitch (send=40036 and recv=40042)
and two more ports towards SIP Client (send=40038, and recv=40040).
I am wondering if there is any setting (or flag at compilation time) that will make it symmetric.
This rtpengine is daemon only, (not using kernel module).
Why do you want rtpengine in front of Freeswitch? Is FS going to give up the media at some point? You should use as few systems passing media as you can. If you don't have

disable_rtp_auto_adjust=true

on your sofia profile you should be able to receive media there directly from your clients.

--FC
Narsay, Deep
2014-08-12 10:53:48 UTC
Permalink
Hello Frank,

Main reason to put rtpengine in front of FS is to keep the topology from
being exposed.
Only Kamailio and rtpengine will be facing the public Internet. Since that
is the only hop, the quality won't be affected.

disable_rtp_auto_adjust option is available as dialplan variable.
(Was trying to avoid adding it there, since there are quite a lot of
dialplans in the database).

Thanks,
-Deep N
Post by Narsay, Deep
Post by Narsay, Deep
Hello Andreas,
Yes, that's what I had thought, but
I am actually seeing it using two different UDP ports towards Freeswitch
(send=40036 and recv=40042)
Post by Narsay, Deep
and two more ports towards SIP Client (send=40038, and recv=40040).
I am wondering if there is any setting (or flag at compilation time)
that will make it symmetric.
Post by Narsay, Deep
This rtpengine is daemon only, (not using kernel module).
Why do you want rtpengine in front of Freeswitch? Is FS going to give up
the media at some point? You should use as few systems passing media as
you can. If you don't have
disable_rtp_auto_adjust=true
on your sofia profile you should be able to receive media there directly from your clients.
--FC
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Richard Fuchs
2014-08-19 15:49:52 UTC
Permalink
Post by Narsay, Deep
Hello Andreas,
Yes, that's what I had thought, but
I am actually seeing it using two different UDP ports towards Freeswitch
(send=40036 and recv=40042)
and two more ports towards SIP Client (send=40038, and recv=40040).
I am wondering if there is any setting (or flag at compilation time)
that will make it symmetric.
It shouldn't do that, unless it gets confused about which party talks to
whom, assuming there's more than two parties involved. The "symmetric"
and "asymmetric" flags actually have a different purpose (with
"symmetric" being the default).

If you experience asymmetric RTP coming from rtpengine, please post the
full rtpengine log from one such call, together with details about the
RTP flows you're seeing.

cheers

Loading...