Hi Paul,

I think that this link may help you:
https://github.com/Metaswitch/homestead/blob/dev/docs/homestead_api.md



And this one can help to interact with Homestead databases if you need:



https://github.com/Metaswitch/clearwater-docs/wiki/Troubleshooting-and-Recovery



Now I try even if I am not a real Guru to give you an idea of the
interaction Sprout - Homestead. You can verify the flow using tools like
"tshark", you can collect a trace and then using for example wireshark you
can see the flow (filtering by SIP and HTTP) and comparing it to an IMS
procedure flow you should be able to understand it.

The flow I am going to give to you as example is the registration, you have
to remember that sprout plays, if I-CSCF functionality is enabled (like in
my case), both I/S-CSCF roles.

You can give a glance to the general registration procedure at the
following link:



http://www.eventhelix.com/ims/registration/ims_registration.pdf



In IMS we have these two phases registration because of the authorization
mechanism.

First Sprout receives the register request, the I-CSCF part of it needs to
retrieve the S-CSCF assigned to that user: you see the first HTTP get
request starting from sprout to Homestead and you see a first 200 OK
response with a payload like:



{"result-code":2002,"scscf":"sprout_name.your.domain:5054";transport=TCP}



After this the I-CSCF component of sprout knows which is the S-CSCF to
which forward the request (in my case itself).

Now the S-CSCF perform the second HSS query: this one will provide
authentication information that will be used to challenge the user. The 200
OK response in this case looks like:



{"digest":{"hal1":"xxxx","realm":"your.domain","qop":"auth"}}



Now sprout answers with a 401 unauthorized challenging the user application
as previewed by the standard.

The user application will solve the challenge and send the solution in a
new register request: you have the same interaction from the I-CSCF with
homestead to retrieve the s-cscf, exactly like before.

Now the information of the users such as Initial Filter Criteria are
downloaded by the S-CSCF from the HSS, i.e. Homestead, using HTTP PUT this
will change the registration status on the HSS. You can verify in the 200
OK answer by Homestead the presence of the IFCs data. If the authentication
is correctly verified by the S-CSCF it will answer with a 200 OK and the
registration process can be considered concluded.



Be careful because in the middle of these messages you can find other HTTP
requests directed to Ralf for billing purposes.



This is not a deep explanation of the registration process, it's focused
only to give a simple idea of the flow Sprout-Homestead during it.



Hope this helps,



Abaco



P.S. if you have an external HSS the flow is practically the same, is only
homestead that not having the data itself queries you HSS through Diameter
protocol. From the Sprout standpoint nothing changes everything should
involve only Homestead



2014-11-27 9:33 GMT+01:00 Paul Sun <[email protected]>:

> Can anyone explain the flow between sprout and homestead?
>
> Thanks
>
>
> -          PS
>
> From: Paul Sun
> Sent: Wednesday, November 26, 2014 3:42 PM
> To: [email protected]
> Subject: Flow in CLearwater in each component
>
> Hi
>
> Is there any material describing the flow in each components when a SIP
> REGISTER/SUBSCRIBE/INVITE is received? E.g. when SIP REGISTER is picked up
> in SPROUT, it will send HTTP request to HOMSTEAD, but what HTTP GET/PUT is
> supposed to achieve?
>
> Thanks
>
>
> -          PS
> _______________________________________________
> Clearwater mailing list
> [email protected]
> http://lists.projectclearwater.org/listinfo/clearwater
>
_______________________________________________
Clearwater mailing list
[email protected]
http://lists.projectclearwater.org/listinfo/clearwater

Reply via email to