[Freeswitch-users] dp+ prefixed on From URI
João Mesquita
jmesquita at freeswitch.org
Thu Jan 20 06:52:29 MSK 2011
Someone else will have to kick in now, I haven't played with SIMPLE or the
chat api yet.
Regards,
João Mesquita
On Thu, Jan 20, 2011 at 12:31 AM, John Rose <johnrose at comtex.net> wrote:
> Yes but there should be an option to turn it off. When a UA receives the
> MESSAGE Request the “dp+” gets displayed on some clients which is confusing
> and the reply needs to route back potentially though many sip hops with
> lookups etc.. Having a “dp+” prepended on the From URI may not be the best
> sip based solution for that, maybe adding a custom header perhaps?
>
>
>
> John
>
>
>
> *From:* freeswitch-users-bounces at lists.freeswitch.org [mailto:
> freeswitch-users-bounces at lists.freeswitch.org] *On Behalf Of *João
> Mesquita
> *Sent:* Wednesday, January 19, 2011 8:15 PM
> *To:* FreeSWITCH Users Help
> *Subject:* Re: [Freeswitch-users] dp+ prefixed on From URI
>
>
>
> 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
>
>
>
> _______________________________________________
> 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/3ac22a93/attachment.html
More information about the FreeSWITCH-users
mailing list