[asterisk-commits] oej: trunk r126903 - in /trunk: ./ channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jul 1 10:04:00 CDT 2008
Author: oej
Date: Tue Jul 1 10:03:59 2008
New Revision: 126903
URL: http://svn.digium.com/view/asterisk?view=rev&rev=126903
Log:
Merged revisions 126902 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r126902 | oej | 2008-07-01 16:59:31 +0200 (Tis, 01 Jul 2008) | 7 lines
Use domain part of SIP uri in register= configuration as fromdomain.
Reported by: one47
Patches:
sip-reg-fromdom2.dpatch uploaded by one47 (license 23)
(closes issue #12474)
........
Modified:
trunk/ (props changed)
trunk/channels/chan_sip.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=126903&r1=126902&r2=126903
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Tue Jul 1 10:03:59 2008
@@ -9733,6 +9733,7 @@
char addr[80];
struct sip_pvt *p;
int res;
+ char *fromdomain;
/* exit if we are already in process with this registrar ?*/
if (r == NULL || ((auth == NULL) && (r->regstate == REG_STATE_REGSENT || r->regstate == REG_STATE_AUTHSENT))) {
@@ -9851,12 +9852,19 @@
ast_debug(1, "Scheduled a registration timeout for %s id #%d \n", r->hostname, r->timeout);
}
- if (strchr(r->username, '@')) {
+ if ((fromdomain = strchr(r->username, '@'))) {
+ /* We have a domain in the username for registration */
snprintf(from, sizeof(from), "<sip:%s>;tag=%s", r->username, p->tag);
if (!ast_strlen_zero(p->theirtag))
snprintf(to, sizeof(to), "<sip:%s>;tag=%s", r->username, p->theirtag);
else
snprintf(to, sizeof(to), "<sip:%s>", r->username);
+
+ /* If the registration username contains '@', then the domain should be used as
+ the equivalent of "fromdomain" for the registration */
+ if (ast_strlen_zero(p->fromdomain)) {
+ ast_string_field_set(p, fromdomain, ++fromdomain);
+ }
} else {
snprintf(from, sizeof(from), "<sip:%s@%s>;tag=%s", r->username, p->tohost, p->tag);
if (!ast_strlen_zero(p->theirtag))
More information about the asterisk-commits
mailing list