Fix to sip_parse_host so that it passes the correct information to sip_registry.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@127434 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
d470c1559e
commit
64730d5525
|
@ -6379,7 +6379,7 @@ static int sip_register(const char *value, int lineno)
|
|||
if (hostname)
|
||||
*hostname++ = '\0';
|
||||
if (ast_strlen_zero(username) || ast_strlen_zero(hostname)) {
|
||||
ast_log(LOG_WARNING, "Format for registration is user[:secret[:authuser]]@host[:port][/contact][~expiry] at line %d\n", lineno);
|
||||
ast_log(LOG_WARNING, "Format for registration is [transport://]user[:secret[:authuser]]@host[:port][/contact][~expiry] at line %d\n", lineno);
|
||||
return -1;
|
||||
}
|
||||
/* split user[:secret[:authuser]] */
|
||||
|
@ -19693,7 +19693,12 @@ static int sip_parse_host(char *line, int lineno, char **hostname, int *portnum,
|
|||
*transport = SIP_TRANSPORT_UDP;
|
||||
}
|
||||
|
||||
if ((port = strchr(*hostname, ':'))) {
|
||||
if ((line = strrchr(*hostname, '@')))
|
||||
line++;
|
||||
else
|
||||
line = *hostname;
|
||||
|
||||
if ((port = strrchr(line, ':'))) {
|
||||
*port++ = '\0';
|
||||
|
||||
if (!sscanf(port, "%u", portnum)) {
|
||||
|
|
Reference in New Issue