[Asterisk-cvs] asterisk/channels chan_sip.c,1.645,1.646

markster at lists.digium.com markster at lists.digium.com
Wed Feb 2 12:36:26 CST 2005


Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv32272/channels

Modified Files:
	chan_sip.c 
Log Message:
Make sure we always transmit the same from line (bug #3492)


Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.645
retrieving revision 1.646
diff -u -d -r1.645 -r1.646
--- chan_sip.c	1 Feb 2005 20:07:51 -0000	1.645
+++ chan_sip.c	2 Feb 2005 18:37:36 -0000	1.646
@@ -345,7 +345,8 @@
 	char useragent[256];			/* User agent in SIP request */
 	char context[AST_MAX_EXTENSION];	/* Context for this call */
 	char fromdomain[AST_MAX_EXTENSION];	/* Domain to show in the from field */
-	char fromuser[AST_MAX_EXTENSION];	/* Domain to show in the user field */
+	char fromuser[AST_MAX_EXTENSION];	/* User to show in the user field */
+	char fromname[AST_MAX_EXTENSION];	/* Name to show in the user field */
 	char tohost[AST_MAX_EXTENSION];		/* Host we should put in the "to" field */
 	char language[MAX_LANGUAGE];		/* Default language for this call */
 	char musicclass[MAX_LANGUAGE];          /* Music on Hold class */
@@ -3757,6 +3758,14 @@
 	/* Allow user to be overridden */
 	if (!ast_strlen_zero(p->fromuser))
 		l = p->fromuser;
+	else /* Save for any further attempts */
+		strncpy(p->fromuser, l, sizeof(p->fromuser) - 1);
+
+	/* Allow user to be overridden */
+	if (!ast_strlen_zero(p->fromname))
+		n = p->fromname;
+	else /* Save for any further attempts */
+		strncpy(p->fromname, n, sizeof(p->fromname) - 1);
 
 	if ((ourport != 5060) && ast_strlen_zero(p->fromdomain))
 		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);
@@ -6644,7 +6653,8 @@
 static int reply_digest(struct sip_pvt *p, struct sip_request *req, char *header, char *respheader, char *digest, int digest_len);
 
 /*--- do_register_auth: Authenticate for outbound registration ---*/
-static int do_register_auth(struct sip_pvt *p, struct sip_request *req, char *header, char *respheader) {
+static int do_register_auth(struct sip_pvt *p, struct sip_request *req, char *header, char *respheader) 
+{
 	char digest[1024];
 	p->authtries++;
 	memset(digest,0,sizeof(digest));
@@ -6662,7 +6672,8 @@
 }
 
 /*--- do_proxy_auth: Add authentication on outbound SIP packet ---*/
-static int do_proxy_auth(struct sip_pvt *p, struct sip_request *req, char *header, char *respheader, char *msg, int init) {
+static int do_proxy_auth(struct sip_pvt *p, struct sip_request *req, char *header, char *respheader, char *msg, int init) 
+{
 	char digest[1024];
 	p->authtries++;
 	memset(digest,0,sizeof(digest));




More information about the svn-commits mailing list