[Serusers] Sending NOTIFY messages from presence module to an SIP Proxy Server
Vaclav Kubart
vaclav.kubart at iptel.org
Wed Jun 21 08:45:03 CEST 2006
:-) You are welcome.
Vaclav
On Tue, Jun 20, 2006 at 01:27:39PM +0200, Anton Schula wrote:
> Dear Vaclav,
>
>
> using record-route() in the OSER configuration really did the job.
> Thank you for your assistance!
>
>
> Here is a small summary for the community:
>
> The goal:
> Separate SIP registration and routing from presence services
> One SER (or OpenSer in my case) shall do all the SIP registration and SIP routing and whatever you want. I call it here OSER.
> A second SER with the PA and RLS module shall only process presence related stuff. I call it here SIP-PA_RLS.
> The call flow shall always be accross the OSER: Clients send SUBSCRIBE and PUBLISH via tghe OSER to the SIP-PA_RLS. SIP-PA_RLS send back NOTIFY messages to the clients via the OSER.
>
> The solution:
> The SIP-PA_RLS can run with the (slightly adapted) standard configuration of the SER Presence Snapshot. Of course you can disable non presence related messages, if you will.
>
> The OSER needs the following forward rule, which MUST include the register_route():
>
> ...
> if (method=="SUBSCRIBE" and src_ip!=SER-PA_RLS_IP ||
> method=="NOTIFY" and src_ip!=SER-PA_RLS_IP ||
> method=="PUBLISH" and src_ip!=SER-PA_RLS_IP) {
>
> # needed here so SER-PA_RLS will route NOTIFY messages via OSER
> record_route();
>
> forward_udp(SER-PA_RLS_IP,5060);
> exit;
> };
> ...
>
>
> You can find the call flows below in this mail.
>
>
> best regards
> Toni
>
>
> -------- Original-Nachricht --------
> Datum: Mon, 19 Jun 2006 17:34:02 +0200
> Von: Vaclav Kubart <vaclav.kubart at iptel.org>
> An: Anton Schula <anton.schula at gmx.at>
> Betreff: Re: Re: [Serusers] Sending NOTIFY messages from presence module to an SIP Proxy Server
>
> > The OSER should add Record-Route headers into SUBSCRIBE requests passing
> > through. This seems to be not done by it (but the dump you have sent
> > shows truncated messages, thus they may be hidden).
> >
> > You are right, I think, the record_route should be called on OSER too.
> >
> > Vaclav
> >
> > On Mon, Jun 19, 2006 at 04:28:13PM +0200, Anton Schula wrote:
> > > Hi Vaclav,
> > >
> > >
> > > thank you for the very, very quick reply!
> > >
> > > Overview captured with tethereal at SER-PA_RLS:
> > > Capturing on eth0
> > > 1 0.000000 OSER -> SER-PA_RLS SIP Request: PUBLISH
> > sip:anton.schula at sip.domain.net
> > > 2 0.000364 OSER -> SER-PA_RLS SIP Request: SUBSCRIBE
> > sip:anton.schula at sip.domain.net
> > > 3 0.003075 SER-PA_RLS -> OSER SIP Status: 200 OK
> > > 4 0.003579 SER-PA_RLS -> OSER SIP Status: 200 OK
> > > 5 0.003704 SER-PA_RLS -> UA SIP Request: NOTIFY
> > sip:anton.schula at UA:7944
> > > 6 0.095282 OSER -> SER-PA_RLS SIP Request: PUBLISH
> > sip:anton.schula at sip.domain.net
> > > 7 0.095796 SER-PA_RLS -> OSER SIP Status: 200 OK
> > > 8 0.174615 OSER -> SER-PA_RLS SIP Request: SUBSCRIBE
> > sip:anton.schula at sip.domain.net
> > > 9 0.175103 SER-PA_RLS -> OSER SIP Status: 200 OK
> > > 10 0.526255 SER-PA_RLS -> UA SIP Request: NOTIFY
> > sip:anton.schula at UA:7944
> > > 11 0.552488 OSER -> SER-PA_RLS SIP Request: PUBLISH
> > sip:anton.schula at sip.domain.net
> > > 12 0.552977 SER-PA_RLS -> OSER SIP Status: 200 OK
> > > 13 0.725375 OSER -> SER-PA_RLS SIP Request: SUBSCRIBE
> > sip:anton.schula at sip.domain.net
> > > 14 0.725446 SER-PA_RLS -> OSER SIP Status: 200 OK
> > > 15 1.226364 SER-PA_RLS -> UA SIP Request: NOTIFY
> > sip:anton.schula at UA:7944
> > > 16 1.586292 OSER -> SER-PA_RLS SIP Request: SUBSCRIBE
> > sip:anton.schula at sip.domain.net
> > > 17 1.586708 SER-PA_RLS -> OSER SIP Status: 489 Unsupported event
> > package
> > > 18 2.167297 OSER -> SER-PA_RLS SIP Request: SUBSCRIBE
> > sip:anton.schula at sip.domain.net
> > > 19 2.167806 SER-PA_RLS -> OSER SIP Status: 489 Unsupported event
> > package
> > > 20 3.466258 SER-PA_RLS -> UA SIP Request: NOTIFY
> > sip:anton.schula at UA:7944
> > > 21 7.386253 SER-PA_RLS -> UA SIP Request: NOTIFY
> > sip:anton.schula at UA:7944
> > > 22 11.236379 SER-PA_RLS -> UA SIP Request: NOTIFY
> > sip:anton.schula at UA:7944
> > >
> > > The SER-PA_RLS tries to send out SIP NOTIFY directly to the client
> > machine (called UA here).
> > > As this is UDP these packages are visible even though the firewall drops
> > them.
> > >
> > > Details captured with ngrep anton.schula@ port 5060 in the attachment
> > ngrep.out.
> > >
> > > I use a recored_route for all messages in the ser.cfg of SER-PA_RLS. Do
> > I need this as well before the forward in the OSER ser.cfg?
> > >
> > > if (method=="SUBSCRIBE" and src_ip!=SER-PA_RLS_IP ||
> > > method=="NOTIFY" and src_ip!=SER-PA_RLS_IP ||
> > > method=="PUBLISH" and src_ip!=SER-PA_RLS_IP) {
> > >
> > > # needed here? On OSER
> > > record_route();
> > >
> > > forward_udp(SER-PA_RLS_IP,5060);
> > > exit;
> > > };
> > >
> > > The OSER belongs to somebody else, I need to ask him whether he has a
> > record_route() in the config file.
> > >
> > >
> > >
> > > best regards
> > > Toni
> > >
> > >
> > >
> > >
> > > -------- Original-Nachricht --------
> > > Datum: Mon, 19 Jun 2006 15:49:19 +0200
> > > Von: Vaclav Kubart <vaclav.kubart at iptel.org>
> > > An: Anton Schula <anton.schula at gmx.at>
> > > Betreff: Re: [Serusers] Sending NOTIFY messages from presence module to
> > an SIP Proxy Server
> > >
> > > > Hi,
> > > > NOTIFYs should be sent via dialog routes (created by Record-Routes in
> > > > SUBSCRIBE request). Please could you attach message dump from
> > > > SER-PA_RLS? (by ngrep for example)
> > > >
> > > > May be, that you don't see NOTIFYs because they are "eaten" by loose
> > > > route processing on OSER (try to watch with ngrep on that machine if
> > you
> > > > see a NOTIFY).
> > > >
> > > > Vaclav
> > > >
> > > > On Mon, Jun 19, 2006 at 03:41:29PM +0200, Anton Schula wrote:
> > > > > Hello,
> > > > >
> > > > >
> > > > > I have a routing problem with SER and OpenSer regarding presence
> > > > > NOTIFY messages.
> > > > >
> > > > > I want to use OpenSer (OSER in the diagram below) as SIP registrar
> > and
> > > > > for routing SIP messages (which is working perfectly). And I have a
> > > > > separate SER with the PA and RLS modules (called SER-PA_RLS). This
> > one
> > > > > also works perfectly when used as standalone server.
> > > > >
> > > > > Now I have configured the OSER to forward PUBLISH and SUBSCRIBE
> > > > > messages to the SER-PA_RLS. This part is O.K., messages are routed
> > > > > from the client over the OSER to SER-PA_RLS, reply messages travel
> > > > > back from SER-PA_RLS to the OSER and from there to the client.
> > That's
> > > > > O.K., so OSER apears to have correct routing.
> > > > >
> > > > > But NOTIFY messages originating at the SER-PA_RLS are sent directly
> > to
> > > > > the client, using the clients contact address.
> > > > >
> > > > > How can I configure SER-PA_RLS to send the NOTIFY messages via the
> > > > > OSER? In fact, this is all that SER-PA_RLS shall send to the outside
> > > > > world. All routing decissions shall be done in the OSER. The
> > > > > SER-PA_RLS should not be directly accessed (a firewall is in place).
> > > > >
> > > > >
> > > > > Call Flows:
> > > > > ===========
> > > > >
> > > > > Messages from Client to Presence server are O.K.
> > > > > OSER routes them to the SER-PA_RLS.
> > > > > Responses travel back via OSER.
> > > > >
> > > > > ###### ######## ##############
> > > > > # UA # # OSER # # SER-PA_RLS #
> > > > > ###### ######## ##############
> > > > > | | |
> > > > > |----PUBLISH--->| |
> > > > > | |----PUBLISH---->|
> > > > > | |<-----OK------- |
> > > > > |<------OK------| |
> > > > > | | |
> > > > > | | |
> > > > > |---SUBSCRIBE-->| |
> > > > > | |---SUBSCRIBE--->|
> > > > > | |<-----OK------- |
> > > > > |<------OK------| |
> > > > > | | |
> > > > > | | |
> > > > > | | |
> > > > >
> > > > >
> > > > > Intended route of NOTIFY messages:
> > > > >
> > > > > ###### ######## ##############
> > > > > # UA # # OSER # # SER-PA_RLS #
> > > > > ###### ######## ##############
> > > > > | | |
> > > > > | |<----NOTIFY-----|
> > > > > |<----NOTIFY----| |
> > > > > |-------OK----->| |
> > > > > | |-------OK------>|
> > > > > | | |
> > > > > | | |
> > > > >
> > > > >
> > > > > Observed route of NOTIFY messages:
> > > > >
> > > > > ###### ######## ##############
> > > > > # UA # # OSER # # SER-PA_RLS #
> > > > > ###### ######## ##############
> > > > > | | |
> > > > > | | |
> > > > > |<-------------NOTIFY------------|
> > > > > |----------------OK------------->|
> > > > > | | |
> > > > > | | |
> > > > >
> > > > > (In fact I only see the UDP SIP NOTIFY leavin the SER-PA_RLS
> > machine.
> > > > The firewall blocks this message, so the client nevers receives it.)
> > > > >
> > > > >
> > > > > I tried several configurations in ser.cfg, including
> > > > > ...
> > > > > if (method=="NOTIFY") {
> > > > > log(1,"NOTIFY forwarded to OSER\n");
> > > > > forward(OSER-hostname,5060);
> > > > > }
> > > > > ...
> > > > >
> > > > > I never saw the log message. I think, that sending out messages from
> > > > > the SER or at least the presence module is independend from routing
> > in
> > > > > the ser.cfg.
> > > > >
> > > > > Can anybody tell me how to forward all outgoing messages to the
> > OSER?
> > > > >
> > > > > Many thank's in advance!
> > > > >
> > > > > best regards
> > > > > A. Schula
> > > > >
> > > > >
> > > > >
> > > > > PS: For your information
> > > > > On OSER, I simply use this
> > > > >
> > > > > if (method=="SUBSCRIBE" and src_ip!=SER-PA_RLS_IP ||
> > > > > method=="NOTIFY" and src_ip!=SER-PA_RLS_IP ||
> > > > > method=="PUBLISH" and src_ip!=SER-PA_RLS_IP) {
> > > > > forward_udp(SER-PA_RLS_IP,5060);
> > > > > exit;
> > > > > };
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > >
> > > > >
> > > > > Echte DSL-Flatrate dauerhaft für 0,- Euro*!
> > > > > "Feel free" mit GMX DSL! http://www.gmx.net/de/go/dsl
> > > > > _______________________________________________
> > > > > Serusers mailing list
> > > > > Serusers at lists.iptel.org
> > > > > http://lists.iptel.org/mailman/listinfo/serusers
> > >
> > > --
> > >
> > >
> > > Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
> > > Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
> >
>
> --
>
>
> "Feel free" ??? 10 GB Mailbox, 100 FreeSMS/Monat ...
> Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail
More information about the sr-users
mailing list