I'm using the following rtpengine_offer() to force the use of ICE relay and also replace o= and m= rtpengine_offer("replace-origin replace-session-connection ICE=force-relay RTP");
The SDP is being updated to include an ICE relay candidate, but the IP addresses in the o= and m= lines are not changing to the servers IP address (X.X.X.X). I also tried using the media-address parameter but that didn't change the behaviour. When I use rtpengine_answer() then it's not providing an ICE candidate nor changing o= or m=, which I imagine is expected. What am I missing?
INVITE from the client (before rtpengine)------------------------------------------------------ INVITE sip:server.domain.com SIP/2.0Via: SIP/2.0/TCP 154.20.1.8:37520;branch=z9hG4bK-1710993570;rportFrom: sip:username@server.domain.com;tag=281751229To: sip:server.domain.comContact: sip:username@154.20.1.8:37520;transport=tcpCall-ID: c715a8f9-4dd1-38d8-acbd-54153310f59fCSeq: 1756522847 INVITEContent-Type: multipart/mixed;boundary=7efec5a8-3311-0157-fc8b-9af106265507Content-Length: 1506Max-Forwards: 70Allow: INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFERPrivacy: noneSupported: 100rel --7efec5a8-3311-0157-fc8b-9af106265507Content-Type: application/sdp v=0o=organization 1983 678901 IN IP4 154.20.1.8s=-c=IN IP4 154.20.1.8t=0 0a=tcap:1 RTP/AVPFm=audio 15418 RTP/AVP 114 115 0 101i=speecha=ptime:20a=minptime:1a=maxptime:255a=silenceSupp:off - - - -a=rtpmap:114 AMR-WB/16000/1a=imageattr:114 octet-align=0a=fmtp:114 octet-align=0a=rtpmap:115 AMR-WB/16000/1a=imageattr:115 octet-align=1a=fmtp:115 octet-align=1a=rtpmap:0 PCMU/8000/1a=rtpmap:101 telephone-event/8000/1a=fmtp:101 0-16a=pcfg:1 t=1a=sendrecva=rtcp-muxa=ssrc:2047236273 cname:e6dcab7948b70d52cd51b75e505c49eba=ssrc:2047236273 mslabel:6994f7d1-6ce9-4fbd-acfd-84e5131ca2e2a=ssrc:2047236273 label:organization@audio
INVITE from the server (after rtpengine)------------------------------------------------------
SIP/2.0 200 OKVia: SIP/2.0/TCP 154.20.1.8:37520;branch=z9hG4bK-1710993570;rport=37520;received=2.221.73.230From: sip:username@server.domain.com;tag=281751229To: sip:server.domain.com;tag=0ea7681ffd64b0ffcde1bff3393fd505.ae3aCall-ID: c715a8f9-4dd1-38d8-acbd-54153310f59fCSeq: 1756522847 INVITEContact: sip:X.X.X.X:443;transport=tcpAllow: INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFERPrivacy: noneContent-Type: multipart/mixed;boundary=7efec5a8-3311-0157-fc8b-9af106265507Server: kamailio (5.2.2 (x86_64/linux))Content-Length: 1965 --7efec5a8-3311-0157-fc8b-9af106265507Content-Type: application/sdp v=0o=organization 1983 678901 IN IP4 154.20.1.8s=-c=IN IP4 154.20.1.8t=0 0a=tcap:1 RTP/AVPFm=audio 15418 RTP/AVP 114 115 0 101i=speecha=minptime:1a=maxptime:255a=silenceSupp:off - - - -a=imageattr:114 octet-align=0a=imageattr:115 octet-align=1a=pcfg:1 t=1a=rtcp-muxa=ssrc:2047236273 cname:e6dcab7948b70d52cd51b75e505c49eba=ssrc:2047236273 mslabel:6994f7d1-6ce9-4fbd-acfd-84e5131ca2e2a=ssrc:2047236273 label:organization@audioa=rtpmap:114 AMR-WB/16000/1a=rtpmap:115 AMR-WB/16000/1a=rtpmap:0 PCMU/8000/1a=rtpmap:101 telephone-event/8000/1a=fmtp:114 octet-align=0a=fmtp:115 octet-align=1a=fmtp:101 0-16a=sendrecva=ptime:20a=ice-ufrag:kzgbFAnua=ice-pwd:hnEu9EwTrdIZnTWhYbxtmdugvra=candidate:dzkwmPcB28NPHfRA 1 UDP 16777215 X.X.X.X 30366 typ relay raddr X.X.X.X rport 30366a=candidate:dzkwmPcB28NPHfRA 2 UDP 16777214 X.X.X.X 30367 typ relay raddr X.X.X.X rport 30367a=sendrecva=ice-ufrag:uDE9wbvYa=ice-pwd:dx4CcIjqUNFfnRPJEF8GjatXdU
On Fri, Apr 19, 2019 at 08:52:30AM +0000, David Dean wrote:
I'm using the following rtpengine_offer() to force the use of ICE relay and also replace o= and m= ?? ??rtpengine_offer("replace-origin replace-session-connection ICE=force-relay RTP");
The SDP is being updated to include an ICE relay candidate, but the IP addresses in the o= and m= lines are not changing??to the servers IP address (X.X.X.X).
This is a feature, not a bug: https://github.com/sipwise/rtpengine " * ICE ... With force-relay, existing ICE candidates are left in place except relay type candidates, and rtpengine inserts itself as a relay candidate. It will also leave SDP c= and m= lines unchanged.
This flag operates independently of the replace flags. "
Strange that media adress doesn't work, but try replace. Maybe that works?
Sorry, not sure I understand. The documentation says these options will update c= and m= but in my case they aren't applying and I don't know why. Are you saying c= and m= won't be updated if ICE is being forced? ---------https://www.kamailio.org/docs/modules/4.4.x/modules/rtpengine.html#rtpengine...
replace-origin - flags that IP from the origin description (o=) should be also changed. replace-session-connection - flags to change the session-level SDP connection (c=) IP if media description also includes connection information.
On Friday, 19 April 2019, 10:15:28 GMT+1, Daniel Tryba d.tryba@pocos.nl wrote:
On Fri, Apr 19, 2019 at 08:52:30AM +0000, David Dean wrote:
I'm using the following rtpengine_offer() to force the use of ICE relay and also replace o= and m= ?? ??rtpengine_offer("replace-origin replace-session-connection ICE=force-relay RTP");
The SDP is being updated to include an ICE relay candidate, but the IP addresses in the o= and m= lines are not changing??to the servers IP address (X.X.X.X).
This is a feature, not a bug: https://github.com/sipwise/rtpengine " * ICE ... With force-relay, existing ICE candidates are left in place except relay type candidates, and rtpengine inserts itself as a relay candidate. It will also leave SDP c= and m= lines unchanged.
This flag operates independently of the replace flags. "
Strange that media adress doesn't work, but try replace. Maybe that works?
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
`replace-origin` and `replace-session-connection` are optional for normal operation and are preempted by `ICE=force-relay`. If you want c= and o= (and m=) lines updated, you should use `ICE=force` instead.
Cheers
On 19/04/2019 05.25, David Dean wrote:
Sorry, not sure I understand.
The documentation says these options will update c= and m= but in my case they aren't applying and I don't know why.
Are you saying c= and m= won't be updated if ICE is being forced?
https://www.kamailio.org/docs/modules/4.4.x/modules/rtpengine.html#rtpengine...
replace-origin - flags that IP from the origin description (o=) should be also changed.
replace-session-connection - flags to change the session-level SDP connection (c=) IP if media description also includes connection information.
On Friday, 19 April 2019, 10:15:28 GMT+1, Daniel Tryba d.tryba@pocos.nl wrote:
On Fri, Apr 19, 2019 at 08:52:30AM +0000, David Dean wrote:
I'm using the following rtpengine_offer() to force the use of ICE
relay and also replace o= and m=
?? ??rtpengine_offer("replace-origin replace-session-connection
ICE=force-relay RTP");
The SDP is being updated to include an ICE relay candidate, but the
IP addresses in the o= and m= lines are not changing??to the servers IP address (X.X.X.X).
This is a feature, not a bug: https://github.com/sipwise/rtpengine
"
- ICE
... With force-relay, existing ICE candidates are left in place except relay type candidates, and rtpengine inserts itself as a relay candidate. It will also leave SDP c= and m= lines unchanged.
This flag operates independently of the replace flags. "
Strange that media adress doesn't work, but try replace. Maybe that works?
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org mailto:sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users