summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-07-25 18:11:19 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-07-25 18:11:19 +0000
commit1e9beaa1d2e304e438d9ed0c2b93f9eb17792e13 (patch)
tree0e4ff34c7113829b119d05f32ba90392b11e143b /channels
parenta953eb06c3d35f05d6f2cc07687f106aba65fab8 (diff)
ensure that port number in URI is presented when needed (bug #4784)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_sip.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 61d958af8..0dff27e32 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -4249,7 +4249,7 @@ static void build_contact(struct sip_pvt *p)
char iabuf[INET_ADDRSTRLEN];
/* Construct Contact: header */
- if (ourport != DEFAULT_SIP_PORT)
+ if (ourport != 5060) /* Needs to be 5060, according to the RFC */
snprintf(p->our_contact, sizeof(p->our_contact), "<sip:%s%s%s:%d>", p->exten, ast_strlen_zero(p->exten) ? "" : "@", ast_inet_ntoa(iabuf, sizeof(iabuf), p->ourip), ourport);
else
snprintf(p->our_contact, sizeof(p->our_contact), "<sip:%s%s%s>", p->exten, ast_strlen_zero(p->exten) ? "" : "@", ast_inet_ntoa(iabuf, sizeof(iabuf), p->ourip));
@@ -4319,7 +4319,7 @@ static void initreqprep(struct sip_request *req, struct sip_pvt *p, int sipmetho
else /* Save for any further attempts */
ast_copy_string(p->fromname, n, sizeof(p->fromname));
- if ((ourport != DEFAULT_SIP_PORT) && ast_strlen_zero(p->fromdomain))
+ if ((ourport != 5060) && ast_strlen_zero(p->fromdomain)) /* Needs to be 5060 */
snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s:%d>;tag=as%08x", n, l, ast_strlen_zero(p->fromdomain) ? ast_inet_ntoa(iabuf, sizeof(iabuf), p->ourip) : p->fromdomain, ourport, p->tag);
else
snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s>;tag=as%08x", n, l, ast_strlen_zero(p->fromdomain) ? ast_inet_ntoa(iabuf, sizeof(iabuf), p->ourip) : p->fromdomain, p->tag);
@@ -4330,12 +4330,12 @@ static void initreqprep(struct sip_request *req, struct sip_pvt *p, int sipmetho
ast_copy_string(invite, p->fullcontact, sizeof(invite));
/* Otherwise, use the username while waiting for registration */
} else if (!ast_strlen_zero(p->username)) {
- if (ntohs(p->sa.sin_port) != DEFAULT_SIP_PORT) {
+ if (ntohs(p->sa.sin_port) != 5060) { /* Needs to be 5060 */
snprintf(invite, sizeof(invite), "sip:%s@%s:%d%s",p->username, p->tohost, ntohs(p->sa.sin_port), urioptions);
} else {
snprintf(invite, sizeof(invite), "sip:%s@%s%s",p->username, p->tohost, urioptions);
}
- } else if (ntohs(p->sa.sin_port) != DEFAULT_SIP_PORT) {
+ } else if (ntohs(p->sa.sin_port) != 5060) { /* Needs to be 5060 */
snprintf(invite, sizeof(invite), "sip:%s:%d%s", p->tohost, ntohs(p->sa.sin_port), urioptions);
} else {
snprintf(invite, sizeof(invite), "sip:%s%s", p->tohost, urioptions);