diff options
Diffstat (limited to 'pjsip/src/pjsip-simple/publishc.c')
-rw-r--r-- | pjsip/src/pjsip-simple/publishc.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/pjsip/src/pjsip-simple/publishc.c b/pjsip/src/pjsip-simple/publishc.c index efee6fb..ab007ba 100644 --- a/pjsip/src/pjsip-simple/publishc.c +++ b/pjsip/src/pjsip-simple/publishc.c @@ -1,4 +1,4 @@ -/* $Id: publishc.c 4173 2012-06-20 10:39:05Z ming $ */ +/* $Id: publishc.c 4206 2012-07-16 02:45:09Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -355,8 +355,11 @@ PJ_DEF(pj_status_t) pjsip_publishc_set_via_sent_by(pjsip_publishc *pubc, if (!via_addr) pj_bzero(&pubc->via_addr, sizeof(pubc->via_addr)); - else - pubc->via_addr = *via_addr; + else { + if (pj_strcmp(&pubc->via_addr.host, &via_addr->host)) + pj_strdup(pubc->pool, &pubc->via_addr.host, &via_addr->host); + pubc->via_addr.port = via_addr->port; + } pubc->via_tp = via_tp; return PJ_SUCCESS; |