[Freeswitch-users] dp+ prefixed on From URI

João Mesquita jmesquita at freeswitch.org
Thu Jan 20 06:15:12 MSK 2011


John, you should read what he wrote one more time. The code shows precisely
what he said. I am going to quote here:

"you sent it from mod_commands which chose the dp realm to advertise dp+"

If you _received_ a message from SIP, you would've seen the sip+ prefix and
if you sent from the conference module, you would've seen the conf+ prefix
on the event. Makes more sense now?

Regards,
João Mesquita


On Thu, Jan 20, 2011 at 12:10 AM, John Rose <johnrose at comtex.net> wrote:

>
>
> Well from *switch_core_chat_send* it's hardcoded "dp" as the protocol when
> *argv[0]* is the actual protocol being passed from the *chat* API
> argument.
>
>
>
>
> //-------------------------------------------------------------------------------------------
>
> SWITCH_STANDARD_API(chat_api_function)
>
> {
>
>       char *lbuf = NULL, *argv[5];
>
>       int argc = 0;
>
>
>
>       if (!zstr(cmd) && (lbuf = strdup(cmd))
>
>             && (argc = switch_separate_string(lbuf, '|', argv, (sizeof(argv)
> / sizeof(argv[0])))) >= 4) {
>
>
>
>             if (switch_core_chat_send(argv[0], "dp", argv[1], argv[2], "",
> argv[3], !zstr(argv[4]) ? argv[4] : NULL, "") == SWITCH_STATUS_SUCCESS) {
>
>                   stream->write_function(stream, "Sent");
>
>             } else {
>
>                   stream->write_function(stream, "Error! Message Not Sent"
> );
>
>             }
>
>       } else {
>
>             stream->write_function(stream, "Invalid");
>
>       }
>
>
>
>       switch_safe_free(lbuf);
>
>       return SWITCH_STATUS_SUCCESS;
>
> }
>
>
> //-------------------------------------------------------------------------------------------
>
>
>
> Then here in sophia_prescence.c  it prepends “dp+” to the sip *From* URI.
> The “dp+” can cause issues downstream when the sip *MESSAGE* is gets
> routed outbound from the FS box... should be an option to turn it off…
>
>
>
> From: \"+15186819448\" <sip:dp++15186819448 at 65.41.13.124<sip%3Adp%2B%2B15186819448 at 65.41.13.124>
> >;tag=FUetK564c4egm\\r\\n
>
>
>
>
>
> John
>
>
>
>
> //-------------------------------------------------------------------------------------------
>
> if (!strcasecmp(proto, SOFIA_CHAT_PROTO)) {
>
>             from = hint;
>
>       } else {
>
>             char *fp, *p = NULL;
>
>
>
>             fp = strdup(from);
>
>
>
>             if (!fp) {
>
>                   switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory
> Error!\n");
>
>                   goto end;
>
>             }
>
>
>
>             if ((p = strchr(fp, '@'))) {
>
>                   *p++ = '\0';
>
>             }
>
>
>
>             if (zstr(p)) {
>
>                   p = profile->domain_name;
>
>                   if (zstr(p)) {
>
>                         p = host;
>
>                   }
>
>             }
>
>
>
>             ffrom = switch_mprintf("\"%s\" <sip:%s+%s@%s>", fp, proto, fp,
> p);
>
>
>
>             from = ffrom;
>
>             switch_safe_free(fp);
>
>       }
>
>
> //-------------------------------------------------------------------------------------------
>
>
>
>
>
>
>
> > -----Original Message-----
>
> > From: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-
>
> >
>
> > It's not a bug, you are being presumptuous.
>
> >
>
> > Every chat interface has a proto prefix that helps FS to route the
> messages to
>
> > the right module.
>
> > you sent it from mod_commands which chose the dp realm to advertise dp+
>
> >
>
> > if you came in from SIP it is sip+ and conference are conf+ etc.....
>
> >
>
> >
>
> > On Wed, Jan 19, 2011 at 1:43 PM, John Rose <johnrose at comtex.net> wrote:
>
> > >> -----Original Message-----
>
> > >> From: John Rose [mailto:johnrose at comtex.net]
>
> > >>
>
> > >> Why does the chat API command prefix a "dp+" onto the From URI when I
>
> > >> call the chat API?  Here is an argument that I am using:
>
> > >>
>
> > >>
>
> > "sip|+15186819448 at 65.41.13.124|external/sip:+12062990047 at 65.41.13.125<sip%3A%2B12062990047 at 65.41.13.125>
>
> > >> |
>
> > >> Test message."
>
> > >>
>
> > >> Then the From header:
>
> > >>
>
> > >> From: \"+15186819448\"
>
> > >> <sip:dp++15186819448 at 65.41.13.124<sip%3Adp%2B%2B15186819448 at 65.41.13.124>
> >;tag=FUetK564c4egm\\r\\n
>
> > >>
>
> > >
>
> > >
>
> > > Argh, after looking through the code I think this is a FS bug where it
>
> > > was intended for this "dp+" to be prefixed in the Jingle protocol
>
> > > under certain circumstances not SIP.... looks very suspicious...
>
> > >
>
> > > John
>
> > >
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110120/e9cdc12d/attachment.html 


More information about the FreeSWITCH-users mailing list