Hi John,

I’m glad to hear this is now working for you! I’ll add this to the wiki.

We’re also looking into improving the system logs – you can track this at 
https://github.com/Metaswitch/sprout/issues/973 if you want.

Ellie

From: John Green [mailto:[email protected]]
Sent: 10 March 2015 11:19
To: Eleanor Merry
Cc: [email protected]
Subject: Re: [Clearwater] Sprout Injecting new Private Headers into SIP Message 
Sent to AS

HI All,

I solved my problem myself. I'm using the All-In-One Image in VirtualBox ( 
http://virtualbox.org ).

Thus all modules are hosted in one OS, this includes the P-CSCF and the S-CSCF.

The problem was that the Image only had the P-CSCF's Port mapped to an 
"outside" port, thus ALL requests was going to the P-CSCF. And thus Clearwater 
per the IMS spec WILL BLOCK the P-CSCF from accessing the HSS.

I got the below error from the OS's system logs;

Mar  5 11:49:44 cw-aio sprout[840]: 1005 - Description: 
http://10.0.2.15:8888/impu/sip%3A%2B17505550729%40example.com/reg-data failed 
to communicate with HTTP server 10.0.2.15 with curl error No error code 0.
@@Cause: An HTTP connection attempt failed to the specified server with the 
specified error code.
@@Effect: This condition impacts the ability to register, subscribe, or make a 
call.
@@Action: (1). Check to see if the specified host has failed. (2). Check to see 
if there is TCP connectivity to the host by using ping and/or Wireshark.

But after testing all the connections locally using telnet, they all seemed 
fine.

The kicker was looking at the P-CSCF logs :) and there it was;

05-03-2015 12:11:37.764 UTC Error httpconnection.cpp:688: cURL failure with 
cURL error code 0 (see man 3 libcurl-errors) and HTTP error code 400
05-03-2015 12:11:37.764 UTC Error hssconnection.cpp:589: Could not get 
subscriber data from HSS

With a proper HTTP 400 Status Code and everything.

I had to add the port-forwarding rule in VirtualBox so it will also expose the 
S-CSCF's Port.

Rgs,
JG

On Thu, Mar 5, 2015 at 10:45 AM, John Green 
<[email protected]<mailto:[email protected]>> wrote:
HI Ellie,

Thanks for the heads-up. I also found the Sprout documentation for those params 
you're using internally. Looks like I will also have to this.

Wile we are on the 3rd-Party Registration topic, is there any reason Sprout 
will return Forbidden to my Request to Subscribe to "Event: reg"?

Here are some examples;

From my ealrier AS example Below I now return a SUBSCRIBE Request;

SUBSCRIBE sip:[email protected]<mailto:sip%[email protected]> 
SIP/2.0
Call-ID: 
6af281e71ee954c0c8c1c56e3e9fe3a5-sip:[email protected]<mailto:6af281e71ee954c0c8c1c56e3e9fe3a5-sip%[email protected]>
CSeq: 1 SUBSCRIBE
From: sip:work.co.za<http://work.co.za>
To: sip:[email protected]<mailto:sip%[email protected]>
Via: SIP/2.0/TCP ubuntu-VirtualBox:5015
 ;branch=z9hG4bKe505c79194720aa936d45e5a9861f861
Accept: text/*, application/vnd.3gpp2.sms, application/pidf+xml, 
application/reginfo+xml
Contact: sip:192.168.229.236:5015;transport=tcp
Content-Length: 0
Expires: 3600
Event: reg
P-Asserted-Identity: sip:work.co.za<http://work.co.za>
P-Charging-Vector: 
icid-value=c0e5b254c76c5c36cda8ec48ad16c88a;icid-generated-at=ubuntu-VirtualBox;orig-ioi=ubuntu-VirtualBox

And here is the response from Sprout;

SIP/2.0 403 Forbidden
Via: SIP/2.0/TCP 
ubuntu-VirtualBox:5015;received=10.0.2.2;branch=z9hG4bKe505c79194720aa936d45e5a9861f861
Call-ID: 
6af281e71ee954c0c8c1c56e3e9fe3a5-sip:[email protected]<mailto:6af281e71ee954c0c8c1c56e3e9fe3a5-sip%[email protected]>
From: <sip:work.co.za<http://work.co.za>>
To: 
<sip:[email protected]<mailto:sip%[email protected]>>;tag=z9hG4bKe505c79194720aa936d45e5a9861f861
CSeq: 1 SUBSCRIBE
P-Charging-Vector: 
icid-value="c0e5b254c76c5c36cda8ec48ad16c88a";orig-ioi=ubuntu-VirtualBox;icid-generated-at=ubuntu-VirtualBox
Content-Length:  0

Apologies if I should have rather made a new thread for this :)

Rgs,
JG

On Wed, Mar 4, 2015 at 8:25 PM, Eleanor Merry 
<[email protected]<mailto:[email protected]>> wrote:
Hi John,

I believe the extension 'tag' is non-standard - do you know of any standards 
documentation that covers this extension? The standard way of doing this 
through parameters on the SIP URI (and it's what we do for our application 
servers).

Also, on a third-party registration, it is possible to pass a custom payload to 
the AS using the service information element in the IFC (please see TS 29.228, 
B.2.2 and TS 24.229, 5.4.1.7).

Ellie

-----Original Message-----
From: 
[email protected]<mailto:[email protected]>
 
[mailto:[email protected]<mailto:[email protected]>]
 On Behalf Of John Green
Sent: 27 February 2015 06:26
To: 
[email protected]<mailto:[email protected]>
Subject: [Clearwater] Sprout Injecting new Private Headers into SIP Message 
Sent to AS

Hi List,

I would like Sprout to inject some Custom Headers for me into the SIP Messages 
it sends to my Sip Application Server the values being saved inside the iFC (Is 
this possible per normal spec?).

Below is a simple 3rd Party Register Message That was sent to my AS;

REGISTER sip:192.168.229.236:5015;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 10.0.2.15:58807<http://10.0.2.15:58807>
;rport;branch=z9hG4bKPj2wWD0fxBhQXWFvjsOaNqj0oxTvisCLHH
Max-Forwards: 70
From: <sip:10.0.2.15>;tag=pGvsSjQu9FvJ1uKnPN1UWsrZP97kENGa
To: <sip:[email protected]<mailto:sip%[email protected]>>
Contact: <sip:10.0.2.15:5054<http://10.0.2.15:5054>>;transport=TCP
Call-ID: MfgyuXpfxXbgDw1.twamvwzqjgGx8uLq
CSeq: 1 REGISTER
Expires: 0
P-Access-Network-Info: ADSL;utran-cell-id-3gpp=00000000
P-Visited-Network-ID: example.com<http://example.com>
Content-Length:  0

And here is my iFC.

{
"3P-REGISTER" :
"<InitialFilterCriteria><Priority>1</Priority><TriggerPoint><ConditionTypeCNF></ConditionTypeCNF><SPT><ConditionNegated>0</ConditionNegated><Group>0</Group><Method>REGISTER</Method><Extension></Extension></SPT></TriggerPoint><ApplicationServer><ServerName>sip:192.168.229.236:5015<http://192.168.229.236:5015>
;transport=tcp</ServerName><DefaultHandling>0</DefaultHandling><Extension><Tags>
OnlineBillingTriggered
</Tags></Extension><ServiceInfo></ServiceInfo></ApplicationServer></InitialFilterCriteria>"
}

I would like to use this to send Strings (Saved in the iFC) to my AS about what 
to Charge or do with the SIP-Message (Something like a converged SIP-AS). An 
example of the feature can be find the Public Oracle Docs,  (Tagging a Session)

https://docs.oracle.com/cd/E23521_01/doc.60/e23532/sbors_app_ifc.htm#autoId14

Here is a snipped from the iFC in the above.link;

<Extension>
      <Tags>OnlineBillingTriggered</Tags>
</Extension>


The above <Tags> will cause the following header to be added to the SIP-Message 
sent to the AS;

x-wcs-tags = OnlineBillingTriggered


Thanks for reading this, what do you guys think ? Maby there is a better way to 
send arbitrary data to my AS from the S-CSCF ? I was also thinking about 
Private/Custom URI Parameters in the URI set in the <ServerName> ?

Kind Regards,
John
_______________________________________________
Clearwater mailing list
[email protected]<mailto:[email protected]>
http://lists.projectclearwater.org/listinfo/clearwater


_______________________________________________
Clearwater mailing list
[email protected]
http://lists.projectclearwater.org/listinfo/clearwater

Reply via email to