Hi all,
i am using FreeSWITCH with mobile phones and have problems in FS
sometimes acting as a media relay, sometimes not.
The mobile phones are behind operator's 3G/2G data networks that are
"natted" .
The FS just need to act as a SIP server handling:
- Signaling (with SIP/TLS)
- Media relay
NO transcoding is done. (disabled)
Mobile devices use an obfuscated RTP protocol (to bypass VoIP blocking
by mobile operator) and in order to let FS relay it we use:
inbound-proxy-media=true . That way FS does not even check the RTP
header but just relay udp packets on agreed ports.
I am having a strong problem, sometimes devices get one-way audio and
doing debugging we found out that sometimes FS rewrite correctly the
SDP header but sometimes it does not.
We are using:
<param name="apply-nat-acl" value="nat.auto"/>
<param name="aggressive-nat-detection" value="true"/>
I would like FS to act like Asterisk canreinvite=no that force the
media to go trough it always rewriting SDP headers and to make the RTP
flow goes across Asterisk.
I also tried to add this in order to force the rewriting:
<variable name="sip-force-contact" value="NDLB-connectile-dysfunction"/>
However given 2 peers sometime i see the status of the peer (sofia
status profile internal) shown as "Registered(AUTO-NAT)" and sometimes
as "Registered(TLS)" .
Some times the traffic between the peers is not correctly relayed and
there is an asymmetric one-way audio situation:
peer-A correctly send RTP traffic to FS that relay it to peer-B
peer-B send RTP traffic directly to peer-B (because FS did not rewrote
the SDP header related to the target IP of RTP).
>From our basic diagnosis it seems that FS sometimes detect devices as
"behind NAT" but sometimes it does not.
Is there a way to certainly and precisely force all connections to be
relayed across the FS like we was doing with "canreinvite=yes" of
asterisk?
I just would like a static set of settings without the dynamic methods
of NAT detection.
Just everything (RTP relay) going trough FS.
Is that possible?
Fabio Pietrosanti