|
|
|
@ -7412,7 +7412,7 @@ static int sip_register(const char *value, int lineno)
|
|
|
|
|
* host2.extension => [extension]
|
|
|
|
|
* host1.expiry => [expiry]
|
|
|
|
|
*/
|
|
|
|
|
AST_NONSTANDARD_RAW_ARGS(host2, hostpart, '/');
|
|
|
|
|
AST_NONSTANDARD_RAW_ARGS(host2, host1.hostpart, '/');
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* user1.userpart => [peer?][transport://]user[@domain]
|
|
|
|
@ -7423,10 +7423,11 @@ static int sip_register(const char *value, int lineno)
|
|
|
|
|
* host2.extension => extension
|
|
|
|
|
* host1.expiry => expiry
|
|
|
|
|
*/
|
|
|
|
|
AST_NONSTANDARD_RAW_ARGS(host3, hostpart, ':');
|
|
|
|
|
AST_NONSTANDARD_RAW_ARGS(host3, host2.hostpart, ':');
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* user2.userpart => [peer?][transport://]user[@domain]
|
|
|
|
|
* user2.userpart => [peer?][transport://]user
|
|
|
|
|
* user2.domain => domain (regdomain)
|
|
|
|
|
* user1.secret => secret
|
|
|
|
|
* user1.authuser => authuser
|
|
|
|
|
* host3.host => host
|
|
|
|
@ -7434,10 +7435,11 @@ static int sip_register(const char *value, int lineno)
|
|
|
|
|
* host2.extension => extension (callback)
|
|
|
|
|
* host1.expiry => expiry
|
|
|
|
|
*/
|
|
|
|
|
AST_NONSTANDARD_RAW_ARGS(user2, user1.userpart, ':');
|
|
|
|
|
AST_NONSTANDARD_RAW_ARGS(user2, user1.userpart, '@');
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* user2.userpart => [peer?][transport://]user
|
|
|
|
|
* peername => peer
|
|
|
|
|
* user2.userpart => [transport://]user
|
|
|
|
|
* user2.domain => domain (regdomain)
|
|
|
|
|
* user1.secret => secret
|
|
|
|
|
* user1.authuser => authuser
|
|
|
|
@ -7446,14 +7448,24 @@ static int sip_register(const char *value, int lineno)
|
|
|
|
|
* host2.extension => extension (callback)
|
|
|
|
|
* host1.expiry => expiry
|
|
|
|
|
*/
|
|
|
|
|
AST_NONSTANDARD_RAW_ARGS(user2, user2.userpart, '@');
|
|
|
|
|
|
|
|
|
|
if ((tmp = strchr(user2.userpart, '?'))) {
|
|
|
|
|
*tmp = '\0';
|
|
|
|
|
peername = user2.userpart;
|
|
|
|
|
user2.userpart = tmp + 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* peername => peer
|
|
|
|
|
* transport_str => transport
|
|
|
|
|
* username => user
|
|
|
|
|
* user2.domain => domain (regdomain)
|
|
|
|
|
* user1.secret => secret
|
|
|
|
|
* user1.authuser => authuser
|
|
|
|
|
* host3.host => host
|
|
|
|
|
* host3.port => port
|
|
|
|
|
* host2.extension => extension (callback)
|
|
|
|
|
* host1.expiry => expiry
|
|
|
|
|
*/
|
|
|
|
|
if ((tmp = strstr(user2.userpart, "://"))) {
|
|
|
|
|
*tmp = '\0';
|
|
|
|
|
transport_str = user2.userpart;
|
|
|
|
|