[Spce-user] rtp between two SPCE servers

Vincent Dubois VDubois at b2b2c.com
Mon Sep 13 09:15:46 EDT 2021


I had a different scenario, but similar issue, with some peer in private IP space.
Solution was to had each private IP in the NAT exclusion list, of course putting 127.0.0.1 in Nat exclusions could have unwanted consequences.
( config.yml, nattest_exception_ips )

-----Message d'origine-----
De : Jon Bonilla (Manwe) <manwe at sipdoc.net> 
Envoyé : 10 septembre 2021 04:03
À : spce-user at lists.sipwise.com
Objet : [Spce-user] rtp between two SPCE servers

Hi all

I have a 4 SPCE (6.5.11) node setup in a local network. All of them have a kamailio based proxy as PSTN gateway.

I have a problem in this scenario:


- MTA-A client sends call to SPCE1
- SPCE1 sends call to PSTN (kamailio proxy)
- Kamailio proxy decides to send call to SPCE2 (keep it local)
- SPCE2 sends call to MTA-B


As Kamailio doesn't have rtp relay, the SDP indicates the other SPCE box. So
SPCE1 receives SPCE2 IP in the SDP and viceversa.


The problem is that SPCE1 and SPCE2 ignore the IP address in the SDP and send the RTP to the proxy's address (the source of the SIP signalling). As no RTP reaches any of the boxes they don't "learn" the right RTP source and I get no audio. 

In case the call is directed to some destination which sends RTP to the SPCEX box, the SPCE learns and sends the RTP to the right place. It's like a brainlock situation.


I would expect from the SPCE to be able to trust the SDP address instead of using the SIP source and wait to learn but seems like it's not the case. 

Is there any easy way to fix this scenario or should I create a customtt of the /etc/kamailio/proxy/rtpengine.cfg file and change the flags?


This is what the rtpengine offer looks like in the destination node (SPCE2):

"label": "caller", "xmlrpc-callback": "127.0.0.1", "address-family": "IP4",
"ICE": "remove", "transport-protocol": "transparent", "flags": [ "strict-source" ], "replace": [ "origin", "session-connection" ], "rtcp-mux": [ "demux" ], "call-id": "244d083330d4dd164a214cf56e727596 at IPA:5060",
"via-branch": "z9hG4bK93e1.a42eab86c2c3bcebeae6224b4667c2ff.0",
"received-from": [ "IP4", "127.0.0.1" ], "from-tag": "as01efb7ec", "command":
"offer" }


", "xmlrpc-callback": "127.0.0.1", "address-family": "IP4",
"transport-protocol": "transparent", "ICE": "remove", "flags": [ "strict-source" ], "replace": [ "origin", "session-connection" ], "rtcp-mux": [ "demux" ], "call-id": "244d083330d4dd164a214cf56e727596 at IPA:5060", "via-branch":
"z9hG4bKa3e1.4de8ed067720c7158f93b7989a4b616f.0", "received-from": [ "IP4", "127.0.0.1" ], "from-tag": "as01efb7ec", "to-tag":
"25985A50-613A334B000CE35D-AB6F6700", "command": "offer" }



If caller is PSTN... shouldn't trust-address be used?


cheers,

Jon



--
PekePBX, the multitenant PBX solution
https://pekepbx.com




More information about the Spce-user mailing list