Hi Paul,

Effectively it seems to me that the Homestead API guide does not explain
the what does "PUT /impu/<public ID>/reg-data".

As said before I am not a Guru but looking to the Homestead API at:



https://github.com/Metaswitch/homestead/blob/dev/docs/homestead_api.md



and to the project Clearwater Call Flow (Dialog Initiation (on-net):



http://www.projectclearwater.org/technical/call-flows/



and evaluated the traces that I took on Sprout it seems to me that they are
actually using the second  PUT request to retrieve the subscriber
profile/registration state from Homestead cache.



So in my opinion what in the Homestead API guide is indicated under
GET /impu/<public ID>/reg-data can be actually obtained in a similar way
 through a PUT request (the call flow seems to say the same thing).

In my traces I have not been able to find a GET /impu/<public ID>/reg-data
however I tested the API and it is returning exactly the same response
using a PUT (reqtype call) or the GET as indicated by the API guide.



So IN MY OPINION:



 PUT /impu/<public ID>/reg-data[?impi=<private ID>]

Is able to change the registration state (API guide)



PUT /impu/<public ID>/reg-data

Only retrieves registration data from Homestead cache.



Then I am not able to be 100% sure that for homestead using GET or PUT is
exactly the same thing.

Hope this helps,


Abaco









2014-11-28 5:24 GMT+01:00 Paul Sun <[email protected]>:

>  Thank for the information.
>
>
>
> Any idea on the different between below URI request from sprout to
> homestead?
>
>
>
> PUT /impu/<public ID>/reg-data[?impi=<private ID>]
>
>
>
> PUT /impu/<public ID>/reg-data
>
>
>
> Thanks
>
>
>
> -          -PS
>
>
>
>
>
> *From:* Ruggero Schiavi [mailto:[email protected]]
> *Sent:* Thursday, November 27, 2014 7:08 PM
> *To:* Paul Sun
> *Cc:* [email protected]
> *Subject:* Re: [Clearwater] Flow in CLearwater in each component
>
>
>
> 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