diff options
author | Benny Prijono <bennylp@teluu.com> | 2009-04-05 18:30:45 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2009-04-05 18:30:45 +0000 |
commit | 263661b4d13e3ebb4a2a0b95049eba36d38d7842 (patch) | |
tree | 7b61d86e0a30b609ccd3fb38e584dc25b1fbf535 /pjsip/src/pjsua-lib/pjsua_acc.c | |
parent | 76d0b0d900c2890aba523150da072fd9773e1b7a (diff) |
Ticket #776: IPv6 option in pjsua
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2568 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_acc.c')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_acc.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c index 3d8788a2..461205e8 100644 --- a/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/pjsip/src/pjsua-lib/pjsua_acc.c @@ -678,16 +678,27 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, /* Update account's Contact header */ { char *tmp; + const char *beginquote, *endquote; int len; + /* Enclose IPv6 address in square brackets */ + if (tp->key.type & PJSIP_TRANSPORT_IPV6) { + beginquote = "["; + endquote = "]"; + } else { + beginquote = endquote = ""; + } + tmp = (char*) pj_pool_alloc(pool, PJSIP_MAX_URL_SIZE); len = pj_ansi_snprintf(tmp, PJSIP_MAX_URL_SIZE, - "<sip:%.*s%s%.*s:%d;transport=%s%.*s>", + "<sip:%.*s%s%s%.*s%s:%d;transport=%s%.*s>", (int)acc->user_part.slen, acc->user_part.ptr, (acc->user_part.slen? "@" : ""), + beginquote, (int)via_addr->slen, via_addr->ptr, + endquote, rport, tp->type_name, (int)acc->cfg.contact_params.slen, |