After a long discussion on #asterisk-bugs, it seems kind of
authorMark Michelson <mmichelson@digium.com>
Fri, 17 Oct 2008 00:13:35 +0000 (00:13 +0000)
committerMark Michelson <mmichelson@digium.com>
Fri, 17 Oct 2008 00:13:35 +0000 (00:13 +0000)
odd that a channel would be named after the originating port.
For endpoints that always include ":5060" as part
of the From: header, it will mean that you have a ton of
channels with names like "SIP/5060-3ea38a8b."

I am boldly moving forward with this change in trunk, but I'm
not touching other branches with this one since this definitely
would qualify as a behavior change. If there is a problem with
this commit, and I haven't seen the obvious reason why you'd want
to name the channel after the port from which the call originated,
then please feel free to revert this

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@150307 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index e75cf55..23ca9c9 100644 (file)
@@ -5664,12 +5664,15 @@ static struct ast_channel *sip_new(struct sip_pvt *i, int state, const char *tit
        {
                const char *my_name;    /* pick a good name */
        
-               if (title)
+               if (title) {
                        my_name = title;
-               else if ( (my_name = strchr(i->fromdomain, ':')) )
-                       my_name++;      /* skip ':' */
-               else
-                       my_name = i->fromdomain;
+               } else {
+                       char *port = NULL;
+                       my_name = ast_strdupa(i->fromdomain);
+                       if ((port = strchr(i->fromdomain, ':'))) {
+                               *port = '\0';
+                       }
+               }
 
                sip_pvt_unlock(i);
                /* Don't hold a sip pvt lock while we allocate a channel */