From f0992a0b5e40a75ae81cd8476beab5f4cc049af3 Mon Sep 17 00:00:00 2001 From: Terry Wilson Date: Thu, 24 Feb 2011 03:41:34 +0000 Subject: [PATCH] Merged revisions 308678 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r308678 | twilson | 2011-02-23 21:38:22 -0600 (Wed, 23 Feb 2011) | 8 lines Use remotesecret to authenticate with a remote party The remotesecret option was only being used for outbound registration and not for placing calls. This patch uses remotesecret on outbound calls if it is set, otherwise secret is still used. Review: https://reviewboard.asterisk.org/r/1107/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@308679 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 4 +++- configs/sip.conf.sample | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 0465cfc4ea..75df29961f 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -18225,7 +18225,9 @@ static int build_reply_digest(struct sip_pvt *p, int method, char* digest, int d } else { /* No authentication, use peer or register= config */ username = p->authname; - secret = p->peersecret; + secret = p->relatedpeer + && !ast_strlen_zero(p->relatedpeer->remotesecret) + ? p->relatedpeer->remotesecret : p->peersecret; md5secret = p->peermd5secret; } if (ast_strlen_zero(username)) /* We have no authentication */ diff --git a/configs/sip.conf.sample b/configs/sip.conf.sample index 9127628822..92e41e4403 100644 --- a/configs/sip.conf.sample +++ b/configs/sip.conf.sample @@ -1014,6 +1014,10 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; Asterisk only matches on IP/port, not on names. This is mostly used for SIP ; trunks. ; +; Use remotesecret for outbound authentication, and secret for authenticating +; inbound requests. For historical reasons, if no remotesecret is supplied for an +; outbound registration or call, the secret will be used. +; ; For device names, we recommend using only a-z, numerics (0-9) and underscore ; ; For local phones, type=friend works most of the time