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
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' loadedControl engine 'FIFO' loadedentering fifo_cmd t_uac_dlg INFO sip:3003@193.144.1.112 . udp:10.70.1.136:5060 "From:sip:1234@8.8.8.8Contact:sip:daemon@8.8.8.8"404 Invalid local socketFIFO command was::t_uac_dlg:kamailio_receiver_23469INFO."From:sip:1234@8.8.8.8Contact:sip:daemon@8.8.8.8"
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