Hello,


the ACK for requests within dialogs is routed via route[WITHINDLG], if it has a Route header -- also you can check if it belongs to an dialog -- dialog module should export a function for that.


Cheers,
Daniel


On 05/12/2016 14:13, Jonathan Hunter wrote:

Hello,


Ok thanks for that, it works perfectly.


I am generating the SIP INFO message, on receipt of a 200ok, which is being triggered by the event_route[dialog:start].


One last thing, is it possible to trigger /capture the event of the ACK being received for the 200 ok ?


As ideally I want to send SIP INFO after the ACK has been sent, however currently I am triggering on receipt of the 200ok, so dialog is started.


Can I have;


INVITE--->

<---200OK

ACK--->

INFO---->


So in effect RELAY the ACK, then trigger this SIP INFO  to be sent?


Thanks


Jon





From: Daniel-Constantin Mierla <miconda@gmail.com>
Sent: 05 December 2016 10:32
To: Jonathan Hunter; Kamailio SER - Users Mailing List
Subject: Re: [SR-Users] Send SIP Info within a dialog using $uac_req(method)="INFO"
 

Hello,


all the headers must be in a single parameter, I see that you provide headers one by one in the params array. Try:


jsonrpc_exec('
{
 "jsonrpc":"2.0",
 "method":"tm.t_uac_start",
 "params": [
    "INFO",
    "$dlg(to_uri)",
    ".",
    ".",
    "From:$var(testjon)\r\nTo:$var(testjon2)\r\nContact:$var(testjon4)\r\nContent-Type: application/json\r\nContent-Length: 0\r\n"
  ]
}
');

Cheers,
Daniel

On 01/12/2016 17:12, Jonathan Hunter wrote:
Hi Daniel, 

I am trying tm.t_uac_start and its stating Content-Type Missing, I have tried to add to params but it doesnt like it, where should it be defined?

Command below;


jsonrpc_exec('{"jsonrpc":"2.0","method":"tm.t_uac_start","params": ["INFO", "$dlg(to_uri)",".",".","From:$var(testjon)\r\n","To:$var(testjon2)\r\n","Contact:$var(testjon4)\r\n","Content-Type: application/json\r\n","Content-Length: 0\r\n"]}');

And logs;

Dec  1 16:09:15 POC_ProxyA /usr/sbin/kamailio[11883]: INFO: <script>: getting here Content-Type missing
Dec  1 16:09:15 POC_ProxyA /usr/sbin/kamailio[11883]: INFO: <script>: getting here {"jsonrpc":"2.0","error":{"code":-32000,"message":"Execution Error"}}

Thanks


Jon




From: Daniel-Constantin Mierla <miconda@gmail.com>
Sent: 01 December 2016 12:31
To: Jonathan Hunter; Kamailio SER - Users Mailing List
Subject: Re: [SR-Users] Send SIP Info within a dialog using $uac_req(method)="INFO"
 

Hello,


tm.t_uac_start is another rpc command than what was tried before, this one doesn't do async operation.

Cheers,
Daniel

On 01/12/2016 13:28, Jonathan Hunter wrote:

Hello,


I am currently still using the exec module, so within the .cfg file, as when using jsonrpc-s its coming up with the async command issue again, I presume this will still be the case?


Ok I will try with the combinations you mention.


Many thanks


Jon




From: Daniel-Constantin Mierla <miconda@gmail.com>
Sent: 01 December 2016 12:24
To: Jonathan Hunter; Kamailio SER - Users Mailing List
Subject: Re: [SR-Users] Send SIP Info within a dialog using $uac_req(method)="INFO"
 

Hello,


are you still trying with MI command via kamctl? Not with the jsonrpc-s module and tm.t_uac_start?


When double quotes disappear is likely due to command line interpreter, so you need to put two of them for each one you have now, then ones than need to stay should be with more backslashes.


Also, you can try to use single quotes to enclose the parameter values and let the double quotes in the content of the parameter.


Cheers,
Daniel


On 30/11/2016 15:38, Jonathan Hunter wrote:
Hi,

I am just testing with the mi t_uac_dlg command, and I am trying to create an additional header, which is sent in the SIP INFO message and actually contains double quotes.

So in my kamailio.cfg script file I set the variable;


$var(testjon8) = "p1=\"STOP\"";

xlog("L_INFO","We are going to try and use $var(testjon8)\n");

And when seeing in the logs I see it states;

We are going to try and use p1="STOP"

And p1="STOP" is exactly what I want.

However when I generate the SIP INFO message, and check on the wire using wireshark I see;

Event:p1=STOP

So it doesnt have the double quotes I would like.

How can I escape them so the t_uac_dlg command includes them?

The portion where this header is generated in the command is;


exec_avp("kamctl mi t_uac_dlg INFO $dlg(to_uri) . . \\\"From:'$var(testjon)'\"\\r\\nTo:$var(testjon2)\\r\\nCall-ID:$var(testjon3)\\r\\nAllow:$var(Allow)\\r\\nContact:$var(testjon4)\\r\\nEvent:$var(testjon8)\\r\\n\\\"\"", "$avp(test)");



And also running debug I see it as Event:p1="STOP"\r\n\""


Can you tell me how I can escape " so its actually within the SIP header itself?

Many thanks

Jon




From: sr-users <sr-users-bounces@lists.sip-router.org> on behalf of Jonathan Hunter <hunterj91@hotmail.com>
Sent: 25 November 2016 18:55
To: Kamailio SER - Users Mailing List; miconda@gmail.com
Subject: Re: [SR-Users] Send SIP Info within a dialog using $uac_req(method)="INFO"
 

Hi Daniel,


Great thanks very much, will give it a try.


Jon




From: Daniel-Constantin Mierla <miconda@gmail.com>
Sent: 22 November 2016 18:46
To: Jonathan Hunter; Kamailio SER - Users Mailing List
Subject: Re: [SR-Users] Send SIP Info within a dialog using $uac_req(method)="INFO"
 

Hello,


got a bit of time to look at the code and discovered that there is a rpc command tm.t_uac_start added by ser guys that might get you moving forward. It is not waiting for the reply of the generated request and you can use it with json rpc exec function in the config, so it avoids using exec.


Can you give it a try?


Some documentation can be found in the comments of the function used by this command:

  - https://github.com/kamailio/kamailio/blob/master/modules/tm/rpc_uac.c#L399

Cheers,
Daniel


On 22/11/2016 18:35, Jonathan Hunter wrote:

Hi Daniel,


Thanks here you go;


[root@POC_ProxyA kamailio]# kamctl mi t_uac_dlg INFO sip:3003@193.144.1.112 . udp:10.70.1.136:5060    \"From:sip:1234@8.8.8.8"\r\nTo:sip:3003@193.144.1.112\r\nContact:sip:daemon@8.8.8.8\r\n\""
404 Invalid local socket
[root@POC_ProxyA kamailio]# VERBOSE=1 kamctl mi t_uac_dlg INFO sip:3003@193.144.1.112 . udp:10.70.1.136:5060    \"From:sip:1234@8.8.8.8"\r\nTo:sip:3003@193.144.1.112\r\nContact:sip:daemon@8.8.8.8\r\n\""
database engine 'MYSQL' loaded
Control engine 'FIFO' loaded
entering fifo_cmd t_uac_dlg INFO sip:3003@193.144.1.112 . udp:10.70.1.136:5060 "From:sip:1234@8.8.8.8
"
404 Invalid local socket
FIFO command was:
:t_uac_dlg:kamailio_receiver_23469
INFO
.
"


Thanks


Jon

Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Berlin, Nov 28-30, 2016 - http://www.asipto.com

-- 
Daniel-Constantin Mierla
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com