aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-05-06 01:33:24 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-05-06 01:33:24 +0000
commitc6073d13ed817b75c06a525445c432ef9d803ca7 (patch)
tree312a684f93a66830b6e926ef267b0b5a74bfe0f7 /channels
parent5e044d681cceb429ce6b3e73aa35578739ca5fbf (diff)
If user fails host access, search for peers too
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2901 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_sip.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 3319508f9..54be3f6a6 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -4492,6 +4492,12 @@ static int check_user(struct sip_pvt *p, struct sip_request *req, char *cmd, cha
p->noncodeccapability &= ~AST_RTP_DTMF;
}
}
+ if (user && sip_debug_test_addr(sin))
+ ast_verbose("Found user '%s'\n", user->name);
+ } else {
+ if (user && sip_debug_test_addr(sin))
+ ast_verbose("Found user '%s', but fails host access\n", user->name);
+ user = NULL;
}
ast_mutex_unlock(&userl.lock);
if (!user) {
@@ -4504,6 +4510,8 @@ static int check_user(struct sip_pvt *p, struct sip_request *req, char *cmd, cha
/* peer = find_peer(NULL, sin); */
ast_mutex_unlock(&peerl.lock);
if (peer) {
+ if (sip_debug_test_addr(sin))
+ ast_verbose("Found peer '%s'\n", peer->name);
/* Take the peer */
p->nat = peer->nat;
if (p->rtp) {
@@ -4547,7 +4555,10 @@ static int check_user(struct sip_pvt *p, struct sip_request *req, char *cmd, cha
}
free(peer);
}
- }
+ } else
+ if (sip_debug_test_addr(sin))
+ ast_verbose("Found no matching peer or user for '%s:%d'\n", inet_ntoa(p->recv.sin_addr), ntohs(p->recv.sin_port));
+
}
return res;
}