> On July 17, 2014, 9:49 p.m., Mark Michelson wrote: > > /trunk/res/res_pjsip_outbound_publish.c, lines 71-75 > > <https://reviewboard.asterisk.org/r/3780/diff/1/?file=63302#file63302line71> > > > > This seems like an odd default behavior. I would suspect that by > > default we would actually magic up a From URI of our own based instead of > > telling the server that the message is coming from itself. > > > > Doing this when no to_uri is provided makes good sense though. > > Joshua Colp wrote: > It's a PJSIPism, and it actually makes sense (imo). In the case of > PUBLISH you are publishing information about yourself usually. It makes sense > that it should be coming from you. > > Mark Michelson wrote: > Hm, now I'm a bit confused about terminology being used. Who is the > "server" in the server_uri? The XML docs say "SIP URI of the server and > entity to publish to" . So in other words, it's the URI of the destination of > the PUBLISH request. So let's say the Asterisk server that sends the PUBLISH > is Alice, and the Asterisk server that receives the PUBLISH is Bob. You set > server_uri=b...@example.com and do not set a from_uri or to_uri. Our SIP > request would look something like: > > PUBLISH sip:b...@example.com > To: sip:b...@example.com > From: sip:b...@example.com;tag=blahblahblah > > That's what's intended? Alice is publishing information about Alice, not > Bob. If the From header is supposed to indicate the source of the > publication, I'd expect that the From would give some indication that the > publication is from Alice. > > Joshua Colp wrote: > The name of the entity you are publishing to is generally yourself. I am > Alice and I am publishing the state of Alice. This is speaking from a SIP > perspective. You'd use server_uri=sip:al...@example.com. This only differs if > you are publishing to an entity which is different than your own. I am Alice > but I'm publishing the state of Bob. > > server_uri=sip:b...@example.com > from_uri=sip:al...@example.com > > Mark Michelson wrote: > Ah, so the server URI is in essence the URI of the resource whose state > is being published. It's not the URI of the UAS that is to receive the > PUBLISH request. If that's the case, then is the to_uri used to populate the > RURI of the PUBLISH request? > > Joshua Colp wrote: > It just controls the To URI. > > server_uri = Target URI (including user for request URI and the location > of where to send it) > to_uri = URI in To header > from_uri = URI in From header
Okay, now I think I understand. I think you were focusing more on username, and I was focusing more on location in this conversation. So if Alice is a server and is located at foo.com, and Bob is a second server and is located at bar.com, then when Alice sends a publication to Bob, the server URI would be something like: server_uri = al...@bar.com Right? That way, the message gets routed to Bob's server, but the resource represented in the user part is alice. - Mark ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/3780/#review12723 ----------------------------------------------------------- On July 21, 2014, 12:14 p.m., Joshua Colp wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/3780/ > ----------------------------------------------------------- > > (Updated July 21, 2014, 12:14 p.m.) > > > Review request for Asterisk Developers. > > > Repository: Asterisk > > > Description > ------- > > This adds two PJSIP modules which add outbound PUBLISH support and an > 'asterisk' event type. > > The res_pjsip_outbound_publish module is a common module which provides basic > logic for setting up outbound PUBLISH clients, handling authentication > requests, handling configuration, and lifetime. Extra modules implement > specific event types which are registered with res_pjsip_outbound_publish. > Since it takes care of configuration when an outbound PUBLISH is configured > extra configuration can be passed to the event type implementation to further > configure itself. > > The res_pjsip_publish_asterisk module implements inbound and outbound support > for an 'asterisk' event type. This event type conveys device and mailbox > state between Asterisk instances using a JSON content body. As internal > device or mailbox state changes the module sends a PUBLISH message to other > configured instances. When a PUBLISH is received the contents are examined > and a device or mailbox state change queued up within Asterisk. To restrict > what is sent and received filtering is available using regular expressions > which can reduce SIP traffic. > > A wiki page is available at > https://wiki.asterisk.org/wiki/display/~jcolp/Exchanging+Device+and+Mailbox+State+Using+PJSIP > which has some configuration details with some examples. This should also be > reviewed. > > > Diffs > ----- > > /trunk/res/res_pjsip_pubsub.exports.in 419075 > /trunk/res/res_pjsip_pubsub.c 419075 > /trunk/res/res_pjsip_publish_asterisk.c PRE-CREATION > /trunk/res/res_pjsip_outbound_publish.exports.in PRE-CREATION > /trunk/res/res_pjsip_outbound_publish.c PRE-CREATION > /trunk/include/asterisk/res_pjsip_pubsub.h 419075 > /trunk/include/asterisk/res_pjsip_outbound_publish.h PRE-CREATION > > Diff: https://reviewboard.asterisk.org/r/3780/diff/ > > > Testing > ------- > > Set up two Asterisk instances, configured both sides to publish to eachother, > made calls and manipulated voicemail. Watched PUBLISH messages go between > them and state change. > > > Thanks, > > Joshua Colp > >
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev