Re: [asterisk-users] IPv6 transport results in ICE with only IPv6 candidates
On Wed, 2019-04-17 at 13:50 -0400, Joshua C. Colp wrote: > > The same escaping should apply there for extensions.conf as it's a > config file thing, I don't use AEL and don't know anything in that > regard. It may work the same way there. How very odd. It is working now. I am sure I did nothing different than the first time. Cheers, b. signature.asc Description: This is a digitally signed message part -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] IPv6 transport results in ICE with only IPv6 candidates
On Wed, Apr 17, 2019, at 2:06 PM, Brian J. Murrell wrote: > On Wed, 2019-04-17 at 11:56 -0400, Joshua C. Colp wrote: > > On Wed, Apr 17, 2019, at 12:51 PM, Brian J. Murrell wrote: > > > > > > I can add it onto the end of the variable in the Dial() command: > > > > > > Dial(${FRED};transport=tcp,${timeout},TtWw); > > [ the part you trimmed ]: > > and it has the desired effect, but of course specifying at the point > where the Dial command is sets the transport policy much too broadly. > > > You escape the ; character by placing \ in front of it. IE: > > > > DIal(${FRIED}\;transport=tcp,${timeout},TtWw); > > So per the above ("has the desired effect") one doesn't even have to > escape the ; in the Dial() command. > > But I don't want the ";transport=tcp" hard-coded into the Dial() > command argument where the Dial() command is executed. That is making > a transport policy (i.e. not every destination that gets to that Dial() > command should use tcp) decision for far too many destinations. > > The ";transport=tcp" needs to be added where the destination is defined > into a variable: > > FRED=PJSIP/outgoing/sip:f...@sip.example.com;transport=tcp > > in extensions.conf or: > > FRED="PJSIP/outgoing/sip:f...@sip.example.com;transport=tcp"; > > in extensions.ael. The same escaping should apply there for extensions.conf as it's a config file thing, I don't use AEL and don't know anything in that regard. It may work the same way there. -- Joshua C. Colp Digium - A Sangoma Company | Senior Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] IPv6 transport results in ICE with only IPv6 candidates
On Wed, 2019-04-17 at 11:56 -0400, Joshua C. Colp wrote: > On Wed, Apr 17, 2019, at 12:51 PM, Brian J. Murrell wrote: > > > > I can add it onto the end of the variable in the Dial() command: > > > > Dial(${FRED};transport=tcp,${timeout},TtWw); [ the part you trimmed ]: and it has the desired effect, but of course specifying at the point where the Dial command is sets the transport policy much too broadly. > You escape the ; character by placing \ in front of it. IE: > > DIal(${FRIED}\;transport=tcp,${timeout},TtWw); So per the above ("has the desired effect") one doesn't even have to escape the ; in the Dial() command. But I don't want the ";transport=tcp" hard-coded into the Dial() command argument where the Dial() command is executed. That is making a transport policy (i.e. not every destination that gets to that Dial() command should use tcp) decision for far too many destinations. The ";transport=tcp" needs to be added where the destination is defined into a variable: FRED=PJSIP/outgoing/sip:f...@sip.example.com;transport=tcp in extensions.conf or: FRED="PJSIP/outgoing/sip:f...@sip.example.com;transport=tcp"; in extensions.ael. Cheers, b. signature.asc Description: This is a digitally signed message part -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] IPv6 transport results in ICE with only IPv6 candidates
On Wed, Apr 17, 2019, at 12:51 PM, Brian J. Murrell wrote: > On Wed, 2019-04-17 at 10:04 -0400, Joshua C. Colp wrote: > > > > You specify the transport in the SIP URI. For example: > > > > sip:t...@example.com;transport=tcp > > Hrm. This is probably going to be pretty basic, but some googling > didn't seem to come up with anything. How do you do this when you are > assigning to a variable in extensions.conf such as: > > FRED=PJSIP/outgoing/sip:f...@sip.example.com;transport=tcp > > The ; is taken as a comment starting character, isn't it? > > Even in AEL: > > FRED="PJSIP/outgoing/sip:f...@sip.example.com;transport=tcp"; > > The ;transport=tcp doesn't seem to survive. > > I can add it onto the end of the variable in the Dial() command: > > Dial(${FRED};transport=tcp,${timeout},TtWw); You escape the ; character by placing \ in front of it. IE: DIal(${FRIED}\;transport=tcp,${timeout},TtWw); -- Joshua C. Colp Digium - A Sangoma Company | Senior Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] IPv6 transport results in ICE with only IPv6 candidates
On Wed, 2019-04-17 at 10:04 -0400, Joshua C. Colp wrote: > > You specify the transport in the SIP URI. For example: > > sip:t...@example.com;transport=tcp Hrm. This is probably going to be pretty basic, but some googling didn't seem to come up with anything. How do you do this when you are assigning to a variable in extensions.conf such as: FRED=PJSIP/outgoing/sip:f...@sip.example.com;transport=tcp The ; is taken as a comment starting character, isn't it? Even in AEL: FRED="PJSIP/outgoing/sip:f...@sip.example.com;transport=tcp"; The ;transport=tcp doesn't seem to survive. I can add it onto the end of the variable in the Dial() command: Dial(${FRED};transport=tcp,${timeout},TtWw); and it has the desired effect, but of course specifying at the point where the Dial command is sets the transport policy much too broadly. Cheers, b. signature.asc Description: This is a digitally signed message part -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] IPv6 transport results in ICE with only IPv6 candidates
On Wed, Apr 17, 2019, at 10:54 AM, Brian J. Murrell wrote: > Presumably the problem with the [outgoing] endpoint is the > specification of an IPv6-TCP transport. But I need to force the use of > TCP, so how can I do that without limiting it to a particular IP > protocol? You specify the transport in the SIP URI. For example: sip:t...@example.com;transport=tcp This will limit to TCP, and depending on the resolution of "example.com" use IPv6 or IPv4. The ICE candidates should then be both IPv6 and IPv4 since a transport is not explicitly specified. -- Joshua C. Colp Digium - A Sangoma Company | Senior Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
[asterisk-users] IPv6 transport results in ICE with only IPv6 candidates
Hi, I'm using Asterisk 13.x and have defined a pjsip TCP IPv6 transport: [transport-tcp-ipv6] type=transport protocol=tcp bind=[2001:1234:5678:abcd::2]:5060 I also have an IPv4 version of that: [transport-tcp-ipv4] type=transport protocol=tcp bind=10.75.22.8:5060 I've then configured an endpoint to use it: [outgoing] type = endpoint context = default dtmf_mode = none disallow = all allow = all rtp_symmetric = yes force_rport = yes rewrite_contact = yes direct_media = no language = en aors = outgoing t38_udptl = yes t38_udptl_ec = none ice_support=yes transport=transport-tcp-ipv6 But this seems to result in SDP payloads with ICE not offering any IPv4 candidates: v=0 o=- 508048280 508048280 IN IP6 2001:1234:5678:abcd::2 s=Asterisk c=IN IP6 2001:1234:5678:abcd::2 t=0 0 m=audio 14384 RTP/AVP 4 0 8 3 111 112 5 10 118 7 18 110 117 119 97 9 102 115 116 107 a=ice-ufrag:6eea7b135aa990d714a67931034ac864 a=ice-pwd:0494fccd28b93f8a2b544b4741203e4f a=candidate:H67c355d6 1 UDP 2130706431 fd31:aeb1:48df::2 14384 typ host a=candidate:Hc1e19c54 1 UDP 2130706431 2607:abcd:9876:5432::247 14384 typ host a=candidate:Hf5a91683 1 UDP 2130706431 2001:1234:5678:abcd::2 14384 typ host a=candidate:Hdccea0f2 1 UDP 2130706431 2001:123:ab:123::2 14384 typ host a=candidate:Hcbb5ed22 1 UDP 2130706431 fe80::21f:c6ff:fec4:926a 14384 typ host a=candidate:H67c355d6 2 UDP 2130706430 fd31:aeb1:48df::2 14385 typ host a=candidate:Hc1e19c54 2 UDP 2130706430 2607:abcd:9876:5432::247 14385 typ host a=candidate:Hf5a91683 2 UDP 2130706430 2001:1234:5678:abcd::2 14385 typ host a=candidate:Hdccea0f2 2 UDP 2130706430 2001:123:ab:123::2 14385 typ host a=candidate:Hcbb5ed22 2 UDP 2130706430 fe80::21f:c6ff:fec4:926a 14385 typ host a=rtpmap:4 G723/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:3 GSM/8000 a=rtpmap:111 G726-32/8000 a=rtpmap:112 AAL2-G726-32/8000 a=rtpmap:5 DVI4/8000 a=rtpmap:10 L16/8000 a=rtpmap:118 L16/16000 a=rtpmap:7 LPC/8000 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=rtpmap:110 speex/8000 a=rtpmap:117 speex/16000 a=rtpmap:119 speex/32000 a=rtpmap:97 iLBC/8000 a=rtpmap:9 G722/8000 a=rtpmap:102 G7221/16000 a=fmtp:102 bitrate=32000 a=rtpmap:115 G7221/32000 a=fmtp:115 bitrate=48000 a=rtpmap:116 G719/48000 a=rtpmap:107 opus/48000/2 a=ptime:20 a=maxptime:20 a=sendrecv m=video 11188 RTP/AVP 31 34 103 99 104 100 108 a=ice-ufrag:28e29ae16a4cc8d54ebf03cf56010f1a a=ice-pwd:57ec01cf24ac689d2fb459bd0411d2b6 a=candidate:H67c355d6 1 UDP 2130706431 fd31:aeb1:48df::2 11188 typ host a=candidate:Hc1e19c54 1 UDP 2130706431 2607:abcd:9876:5432::247 11188 typ host a=candidate:Hf5a91683 1 UDP 2130706431 2001:1234:5678:abcd::2 11188 typ host a=candidate:Hdccea0f2 1 UDP 2130706431 2001:123:ab:123::2 11188 typ host a=candidate:Hcbb5ed22 1 UDP 2130706431 fe80::21f:c6ff:fec4:926a 11188 typ host a=candidate:H67c355d6 2 UDP 2130706430 fd31:aeb1:48df::2 11189 typ host a=candidate:Hc1e19c54 2 UDP 2130706430 2607:abcd:9876:5432::247 11189 typ host a=candidate:Hf5a91683 2 UDP 2130706430 2001:1234:5678:abcd::2 11189 typ host a=candidate:Hdccea0f2 2 UDP 2130706430 2001:123:ab:123::2 11189 typ host a=candidate:Hcbb5ed22 2 UDP 2130706430 fe80::21f:c6ff:fec4:926a 11189 typ host a=rtpmap:31 H261/9 a=rtpmap:34 H263/9 a=rtpmap:103 h263-1998/9 a=rtpmap:99 H264/9 a=rtpmap:104 MP4V-ES/9 a=rtpmap:100 VP8/9 a=rtpmap:108 VP9/9 a=sendrecv But other endpoints where I don't specify a transport, I get both IPv4 and IPv6 candidates in the ICE SDP. Presumably the problem with the [outgoing] endpoint is the specification of an IPv6-TCP transport. But I need to force the use of TCP, so how can I do that without limiting it to a particular IP protocol? I can't seem to define a generic TCP transport: [transport-tcp] type=transport protocol=tcp in addition to the ones I have already defined above but I do need to define the IPv4 and IPv6 transports as I need to bind them to specific addresses. Any ideas? Cheers, b. signature.asc Description: This is a digitally signed message part -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users