Franck,

Ellie is away for the next week or so, so I'm replying in her absence.

I think the IFC you've specified (formatted below) should only send INVITEs 
(not NOTIFYs) to the AS.

<InitialFilterCriteria>
  <TriggerPoint>
    <ConditionTypeCNF>1</ConditionTypeCNF>
    <SPT>
      <ConditionNegated>0</ConditionNegated>
      <Group>0</Group>
      <Method>INVITE</Method>
    </SPT>
  </TriggerPoint>
  <ApplicationServer>
    <ServerName>sip:10.0.20.215</ServerName>
    <DefaultHandling>0</DefaultHandling>
  </ApplicationServer>
</InitialFilterCriteria>

However, bear in mind that IFCs only apply for the first message of a dialog.  
When the initial INVITE flows, we match these IFCs and decide to send the call 
to the AS.  At this point, the AS has a choice as to whether it adds a 
"Record-Route" header to the INVITE.

·         If the AS does add this header, all subsequent messages in the dialog 
will be sent via the AS, no matter what the SIP message is or what the IFCs are.

·         If the AS does not add this header, no further messages in the dialog 
will be sent via the AS - not even re-INVITEs.
The Record-Route headers contain the "route set" that describes the route that 
SIP messages follow.

Assuming that the REFER was sent in the same dialog as the INVITE, it would use 
the same route-set as the INVITE, and the NOTIFY would then inherit this route 
set too.  As a result, it would go via the AS.

In other words, I don't think there's a way for bypassing the AS on this 
in-dialog NOTIFY.  However, I would expect the AS to propagate the NOTIFY - do 
you know why that's not happening?

Incidentally, for more information on the Record-Route header, see RFC 3261, 
section 20.30.

Please let me know if I've misunderstood the scenario (e.g. if the REFER is 
out-of-dialog or if the AS did not Record-Route itself), or if you have any 
questions.

Thanks,

Matt

From: Clearwater [mailto:[email protected]] On 
Behalf Of Franck Malka
Sent: 20 January 2016 13:34
To: Eleanor Merry <[email protected]>
Cc: [email protected]
Subject: Re: [Clearwater] Configuration of iFCs rules

Hi Ellie,

I am not sure either or not I still have a problem with the iFCs triggers or 
not.
I am still using the following trigger
<InitialFilterCriteria><TriggerPoint><ConditionTypeCNF>1</ConditionTypeCNF><SPT><ConditionNegated>0</ConditionNegated><Group>0</Group><Method>INVITE</Method></SPT></TriggerPoint><ApplicationServer><ServerName>sip:10.0.20.215</ServerName><DefaultHandling>0</DefaultHandling></ApplicationServer></InitialFilterCriteria<sip:10.0.20.215%3c/ServerName%3e%3cDefaultHandling%3e0%3c/DefaultHandling%3e%3c/ApplicationServer%3e%3c/InitialFilterCriteria>>
But I noticed that when I am transferring a call between parties, the NOTIFY 
message is not reaching the REFERing client.
I would like to make a test where NOTIFY is excluded from the trigger and is 
not forwarded to the MMTEL AS.
Can you help with the correct syntax of the iFC?

-Franck.


From: Franck Malka [mailto:[email protected]<mailto:[email protected]>]
Sent: Tuesday, January 12, 2016 8:19 PM
To: Eleanor Merry 
<[email protected]<mailto:[email protected]>>
Cc: 
[email protected]<mailto:[email protected]>
Subject: RE: [Clearwater] Configuration of iFCs rules


Thanks i just used a non registered private identity as a trigger and it did 
the job for me.

Franck
On Jan 12, 2016 20:01, "Eleanor Merry" 
<[email protected]<mailto:[email protected]>> wrote:
Hi Franck,

Thanks for sending the logs across. On the terminating leg of the call, Sprout 
asks Homestead for the subscriber data of sip:[email protected]. It 
doesn’t look like Homestead knows anything about this PSI though, so it returns 
a 404, and Sprout then rejects the call.

You’ll need to make sure Clearwater knows about the PSI.

Are you using an external HSS? If so, then add the PSI to the HSS (the details 
for how to do so depend on your HSS). If you’re not using a HSS, then you can 
add the PSI using the Ellis API (see 
https://github.com/Metaswitch/ellis/blob/dev/docs/api.md#provisioning-specific-numbers
 for details). Then you can set up the PSI IFC in the same way that you’ve done 
for your other subscribers (but make sure that the IFC for the PSI doesn’t only 
trigger for *registered* subscribers).

Ellie

From: Franck Malka [mailto:[email protected]<mailto:[email protected]>]
Sent: 08 January 2016 05:00
To: 
[email protected]<mailto:[email protected]>;
 Eleanor Merry
Subject: RE: [Clearwater] Configuration of iFCs rules


Hi

Further investigating this issue, i was told by the MMTEL AS guys that i need 
to configure an iFC for a Public Service Identity (PSI) with conf-factory URI.

any guidelines on how would look the syntax of such an iFC?

Franck
On Jan 7, 2016 14:28, "Franck Malka" 
<[email protected]<mailto:[email protected]>> wrote:
Attached the requested logs:

-Franck.

From: Eleanor Merry 
[mailto:[email protected]<mailto:[email protected]>]
Sent: Thursday, January 7, 2016 1:46 PM
To: Franck Malka <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>
Subject: RE: [Clearwater] Configuration of iFCs rules

Hi Franck,

To turn on debug logging create/edit the file /etc/clearwater/user_settings, 
add log_level=5 and then restart Sprout (service sprout stop – it’s 
automatically restarted by monit). The logs are output in /var/log/sprout/.

Ellie

From: Franck Malka [mailto:[email protected]]
Sent: 07 January 2016 11:42
To: Eleanor Merry; 
[email protected]<mailto:[email protected]>
Subject: RE: [Clearwater] Configuration of iFCs rules

Can you tell me how to enable debug logs?
The only thing I see in the sprout log is

[cw-aio]ubuntu@cw-aio:/var/log/sprout$ tail -f sprout_current.txt
07-01-2016 11:35:58.468 UTC Status load_monitor.cpp:237: Maximum incoming 
request rate/second increased to 14390.840820 (based on a smoothed mean latency 
of 1301 and 0 upstream overload responses)
07-01-2016 11:37:41.905 UTC Status load_monitor.cpp:237: Maximum incoming 
request rate/second increased to 14400.557617 (based on a smoothed mean latency 
of 2830 and 0 upstream overload responses)
07-01-2016 11:39:42.301 UTC Status load_monitor.cpp:237: Maximum incoming 
request rate/second increased to 14410.234375 (based on a smoothed mean latency 
of 3231 and 0 upstream overload responses)
07-01-2016 11:40:22.812 UTC Error httpconnection.cpp:743: cURL failure with 
cURL error code 0 (see man 3 libcurl-errors) and HTTP error code 404
07-01-2016 11:40:22.812 UTC Error hssconnection.cpp:593: Could not get 
subscriber data from HSS
07-01-2016 11:41:12.701 UTC Status load_monitor.cpp:237: Maximum incoming 
request rate/second increased to 14419.383789 (based on a smoothed mean latency 
of 8509 and 0 upstream overload responses)
07-01-2016 11:41:12.714 UTC Error httpconnection.cpp:743: cURL failure with 
cURL error code 0 (see man 3 libcurl-errors) and HTTP error code 404
07-01-2016 11:41:12.714 UTC Error hssconnection.cpp:593: Could not get 
subscriber data from HSS
07-01-2016 11:41:12.944 UTC Error httpconnection.cpp:743: cURL failure with 
cURL error code 0 (see man 3 libcurl-errors) and HTTP error code 404
07-01-2016 11:41:12.945 UTC Error hssconnection.cpp:593: Could not get 
subscriber data from HSS

-Franck.

From: Eleanor Merry 
[mailto:[email protected]<mailto:[email protected]>]
Sent: Thursday, January 7, 2016 1:35 PM
To: Franck Malka <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>
Subject: RE: [Clearwater] Configuration of iFCs rules

Hi Frank,

Can you send me the Sprout debug logs for this call?

Ellie

From: Franck Malka [mailto:[email protected]]
Sent: 07 January 2016 10:17
To: Eleanor Merry; 
[email protected]<mailto:[email protected]>
Subject: RE: [Clearwater] Configuration of iFCs rules

Hello Again,

I think I am getting closer to my problem here.

In fact, the UE dials to the conf-factory and the MMTEL AS routes the call 
according to the P-Served-User Header sescase tag.

So when the calls come-in to the AS with
P-Served-User: 
<sip:[email protected]<mailto:sip%[email protected]>>;sescase=orig;regstate=reg
The sescase tag is orig, so the AS threat the call as an originating leg and 
return the call to the S-CSCF as for any usual call.

Now the gets the S-CSCF the INVITE back the AS expect the S-CSCF to change the 
header to
P-Served-User: 
<sip:[email protected]<mailto:sip%[email protected]>>;sescase=term;regstate=reg
And to return the request to the AS, then the AS shall detect the terminating 
leg and forward handle the call as a conference call.

My problem here is that the S-CSCF do not change the sescase tag to term, so 
the INVITE request is going back and forward between the S-CSCF and the AS and 
nobody handles it.

So, the refined question would be: How do I configure the S-CSCF to change the 
leg type here?

See attached pcap.

-Franck.

From: Franck Malka [mailto:[email protected]<mailto:[email protected]>]
Sent: Wednesday, January 6, 2016 3:51 PM
To: Eleanor Merry 
<[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>
Subject: RE: [Clearwater] Configuration of iFCs rules

Hi Ellie,

Thanks for the comment.
I think I originally misunderstood the problem I have.
I do get originating and terminating triggers on the MMTEL AS.
This works fine.

The problem I face is with MMTEL Conference.
In this specific scenario, the MMTEL AS sends the INVITE Request with the 
conf-factory URI to the S-CSCF and the MMTEL AS expects to get back an MT leg 
for it with the conference focus id.

I thought we were missing the terminating trigger but It was a 
misinterpretation of the logs.
We are missing the terminating leg for the conf-factory.
I am not sure where and how shall we configure this specific trigger for the 
conferencing feature.

-Franck.

From: Eleanor Merry 
[mailto:[email protected]<mailto:[email protected]>]
Sent: Wednesday, January 6, 2016 3:44 PM
To: Franck Malka <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>
Subject: RE: [Clearwater] Configuration of iFCs rules

Hi Franck,

Your trigger is using the Conjunctive Normal Form, so it matches a message if 
at least of one of each entry in your groups is true. Group 0 in your IFC is 
("INVITE" OR "MESSAGE" OR "SUBSCRIBE") and Group 1 is ("INVITE" or "MESSAGE" or 
session case 0 or session case 1), so this should match any INVITE and any 
MESSAGE requests, and any SUSCRIBE requests that are originating registered or 
terminating registered.

This IFC should be triggered for originating and terminating INVITEs therefore 
– can you please send me the Sprout debug logs for a call? To turn on debug 
logging create/edit the file /etc/clearwater/user_settings, add log_level=5 and 
then restart Sprout (service sprout stop – it’s automatically restarted by 
monit).

Also, you don’t need this complicated a trigger if you just want to match all 
INVITEs – you could just use:

<InitialFilterCriteria><TriggerPoint><ConditionTypeCNF>1</ConditionTypeCNF><SPT><ConditionNegated>0</ConditionNegated><Group>0</Group><Method>INVITE</Method></SPT></TriggerPoint><ApplicationServer><ServerName>sip:10.0.20.215</ServerName><DefaultHandling>0</DefaultHandling></ApplicationServer></InitialFilterCriteria<sip:10.0.20.215%3c/ServerName%3e%3cDefaultHandling%3e0%3c/DefaultHandling%3e%3c/ApplicationServer%3e%3c/InitialFilterCriteria>>

Ellie

From: Franck Malka [mailto:[email protected]]
Sent: 05 January 2016 15:18
To: Eleanor Merry; 
[email protected]<mailto:[email protected]>
Subject: RE: [Clearwater] Configuration of iFCs rules

Thanks Ellie,

I reviewed the spec and the links provided.
But I could not reach a situation where the application server gets notified of 
both originating and terminating SIP INVITEs…
This is the trigger I used lastly.

<InitialFilterCriteria><TriggerPoint><ConditionTypeCNF>1</ConditionTypeCNF><SPT><ConditionNegated>0</ConditionNegated><Group>0</Group><Method>INVITE</Method></SPT><SPT><ConditionNegated>0</ConditionNegated><Group>0</Group><Method>MESSAGE</Method></SPT><SPT><ConditionNegated>0</ConditionNegated><Group>0</Group><Method>SUBSCRIBE</Method></SPT><SPT><ConditionNegated>0</ConditionNegated><Group>1</Group><Method>INVITE</Method></SPT><SPT><ConditionNegated>0</ConditionNegated><Group>1</Group><Method>MESSAGE</Method></SPT><SPT><ConditionNegated>0</ConditionNegated><Group>1</Group><SessionCase>0</SessionCase></SPT><SPT><ConditionNegated>0</ConditionNegated><Group>1</Group><SessionCase>1</SessionCase></SPT></TriggerPoint><ApplicationServer><ServerName>sip:10.0.20.215</ServerName><DefaultHandling>0</DefaultHandling></ApplicationServer></InitialFilterCriteria<sip:10.0.20.215%3c/ServerName%3e%3cDefaultHandling%3e0%3c/DefaultHandling%3e%3c/ApplicationServer%3e%3c/InitialFilterCriteria>>

Is there a known issue getting the terminating party SIP INVITEs?

-Franck.

From: Eleanor Merry 
[mailto:[email protected]<mailto:[email protected]>]
Sent: Thursday, October 1, 2015 3:08 PM
To: Franck Malka <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>
Subject: RE: [Clearwater] Configuration of iFCs rules

Hi Franck,

We’ve got some examples of iFC configuration in 
http://clearwater.readthedocs.org/en/stable/Configuring_an_Application_Server/index.html#direct-configuration-via-curl
 and 
https://github.com/Metaswitch/memento/blob/dev/docs/memento_overview.md#configuration/.

For a full description of how to configure iFCs, I recommend that you check out 
TS 29.228 (release 10, Annex C and F).

Ellie

From: Clearwater [mailto:[email protected]] On 
Behalf Of Franck Malka
Sent: 01 October 2015 12:31
To: 
[email protected]<mailto:[email protected]>
Subject: [Clearwater] Configuration of iFCs rules

Hi,

I could not find in the doc pages a full guide for the configuration of iFC 
rules.
I need to configure a rule for 3rd party registrar and for MMTel Conferencing.
I there some information available around this topic somewhere?

-Franck.
_______________________________________________
Clearwater mailing list
[email protected]
http://lists.projectclearwater.org/mailman/listinfo/clearwater_lists.projectclearwater.org

Reply via email to