Hi. I'm having problems with the Dial() application when I use full SIP account details in it.
I'm looking at the O'Reilly book https://www.amazon.co.uk/dp/1449332420 on page 135, where it says "The Dial() application also allows you to connect to a remote VoIP endpoint not previously defined in one of the channel configuration files. The full syntax is: Dial(technology/user[:password]@remotehost[:port][/remote_extension]) As an example, you can dial into a demonstration server at Digium using the IAX2 protocol by using the following extension: exten => 500,1,Dial(IAX2/[email protected]/s)" I'm using Asterisk 11.13.1 under Debian 7. I am trying to dial from Asterisk to another SIP server using an account on that server, for which I know the username and password. Just to confirm, if I put the account credentials into a telephone and register to the remote server, I can place calls as expected. When I try to do the same thing using Asterisk, however: 1. The password I have been assigned on the remote server contains a ! symbol, and it seems that Asterisk is ignoring this symbol and everything after it: The account name (slightly obfuscated for security in this email) is 832+ios The password (ditto) is 31oNPMLQ!9d_XuQu I wish to dial through that account to the number 0203xxxxyyyy (which works from a telephone). In my dialplan I have (all on one line of course): exten => 936,1,Dial(SIP/832+ios:31oNPMLQ! [email protected]/0203xxxxyyy) Dialling extension 936 results in: ----- -- Executing [936@outbound:1] Dial("SIP/1000-000000db", "SIP/832+ios:[email protected]/0203xxxxyyy") in new stack == Using SIP RTP CoS mark 5 [2017-02-28 11:38:16] ERROR[1005][C-00000d21]: netsock2.c:269 ast_sockaddr_resolve: getaddrinfo("832+ios", "31oNPMLQ", ...): Servname not supported for ai_socktype [2017-02-28 11:38:16] WARNING[1005][C-00000d21]: chan_sip.c:6057 create_addr: No such host: 832+ios:31oNPMLQ [2017-02-28 11:38:16] WARNING[1005][C-00000d21]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent) ----- I've tried: - escaping the ! by prefixing it with a \ - enclosing the entire password within ' - enclosing the entire username / password within ' but Asterisk still simply stops reading at the ! and ignores everything which follows. So, how can I get it to use this password which happens to contain a ! ? 2. If I get my remote provider to change the password so that it does not contain the ! symbol, Asterisk's behaviour changes: exten => 936,1,Dial(SIP/832+ios:[email protected]/0203xxxxyyy) This now results in: ----- -- Executing [936@outbound:1] Dial("SIP/1000-000000dc", "SIP/832+ios:[email protected]/0203xxxxyyy") in new stack [2017-02-28 11:43:47] NOTICE[1011][C-00000d22]: chan_sip.c:29848 sip_request_call: Conflicting extension values given. Using '832+ios' and not '0203xxxxyyy' == Using SIP RTP CoS mark 5 -- Called SIP/832+ios:[email protected]/0203xxxxyyy [2017-02-28 11:43:47] NOTICE[11692][C-00000d22]: chan_sip.c:23010 handle_response_invite: Failed to authenticate on INVITE to '"Antony Stone" <sip:[email protected]>;tag=as6ef135a8' ----- So, I appear to have given the parameters in the correct form: Dial(technology/user[:password]@remotehost[:port][/remote_extension]) and I get told that the username does not match the remote_extension (ie: the number I want to dial) - well, of course it doesn't - the username is part of my authentication to the server, nothing to do with who I want to call? Incidentally, I do know I can put a Register statement into sip.conf, and then be able to use the Dial() application just using the username (and this works), however I need a solution which can support two or more accounts at different remote providers having the same username. Therefore the username alone will not be unique, but the combination of username + password + server name will be, hence the reason why I would need to use this in the dialplan. If anyone can offer suggestions on how to use the full SIP credentials in a Dial() statement, and also how to escape special characters such as ! I would be very grateful. Thanks, Antony. -- Software development can be quick, high quality, or low cost. The customer gets to pick any two out of three. Please reply to the list; please *don't* CC me. -- _____________________________________________________________________ -- 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
