[SR-Users] [sr-dev] Failed to catch some reply message with reply_route block
Daniel-Constantin Mierla
miconda at gmail.com
Tue Aug 27 09:05:01 CEST 2019
Thanks Federico for looking into this and finding that. I guess that the
issue is when sip_trace() is the last action in the reply_route, its
return code being propagated to the interpreter. Using 'exit' after it
or 'return 1' could be a variant, but as you said a proper fix should be
done so there is no error in processing.
Cheers,
Daniel
On 26.08.19 20:10, Federico Cabiddu wrote:
> Hi Salah,
> I got it working (capturing stateless replies in and out) with the
> following parameter and routing script snippets.
>
> onsend_route_reply=1
>
> reply_route {
>
>
>
> xlog("L_INFO", "Incoming reply: $rm $rs\n");
>
>
>
> if (!t_check_trans()) {
>
>
>
> setflag(25);
>
>
>
> $var(rc) = sip_trace();
>
>
>
> }
>
>
>
> }
>
>
>
> onsend_route {
> if ($mt == 2) {
>
>
>
> xlog("Sending out reply to $rm: $rs\n");
>
>
>
> if (isflagset(25)) {
>
>
>
> sip_trace();
>
>
>
> }
>
>
>
> }
>
>
>
> }
>
> In reply_route I had to assign the output of sip_trace to a $var
> because of en error in sip_trace which prevent the execution of
> onsend_route if called in reply_route.
> I'm going to fix it soon.
>
> Hope this helps,
>
> Federico
>
> On Mon, Aug 26, 2019 at 4:58 PM Salah Ahmed <txrubel at gmail.com
> <mailto:txrubel at gmail.com>> wrote:
>
> Hello Daniel,
>
> This is correct, we can get the forwarding message with $snd(buf)
> on the onsend_route. But unfortunately, there have no any
> sip_trace version to do log with a given message as method argument.
>
> Actually right now, we using trace_mode=1 setup. But we need to do
> log only for Kamailio to UAC side, not to do log for both side.
>
> Thanks,
> Salah
>
> On Mon, Aug 26, 2019 at 2:54 AM Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
> Hello,
>
> the $mb and $msg(buf) still point to incoming message, even in
> the onsend_route. The content of the outgoing buffer is in
> $snd(buf).
>
> Isn't trace_mode=1 giving what you need?
>
> -
> https://www.kamailio.org/docs/modules/stable/modules/siptrace.html#siptrace.p.trace_mode
>
> Or do you still want to filter some SIP message, not mirror
> everything?
>
> On the other hand, I expected sip_trace() to take the outgoing
> buffer in onsend_route when mirroring, maybe it is not doing
> it for response...
>
> Cheers,
> Daniel
>
> On 25.08.19 18:50, Salah Ahmed wrote:
>> Hello Henning,
>>
>> I have tried with $msg(buf) in the onsend_route, got those
>> replies received from UAS, but didn't found any replies what
>> kamailio forwarded to UAC. The sip_trace doing same, that's
>> my concern, I think onsend_route we suppose to get those
>> reply messages which kamailio forwarded to UAC.
>>
>> For sip_trace use, we call sip_trace in the onsend_route, and
>> didn't set siptrace flag(22) anywhere in the script.
>>
>> Thanks,
>> Salah
>>
>> On Sun, Aug 25, 2019 at 11:41 AM Henning Westerholt
>> <hw at skalatan.de <mailto:hw at skalatan.de>> wrote:
>>
>> Hello Salah,
>>
>> add some logging (e.g. print the $mb PV) to see what is
>> captured from the onsend_route. Then you can compare
>> against siptrace content and see if they match or is
>> there something different captured.
>>
>> You need to call sip_trace() in the onsend_route, the
>> trace_flag capture method does not work there.
>>
>> Cheers,
>>
>> Henning
>>
>> Am 25.08.19 um 18:01 schrieb Salah Ahmed:
>>> Hello Daniel,
>>>
>>> Thanks for your reply. We want this not to modify the
>>> reply message, we just want to invoke sip_trace from
>>> onsend_route. Actually we want to trace all sip messages
>>> in between Kamailio and UAC. Right now we can easily
>>> grab all requests using onsend_route. We also set the
>>> core parameter onsend_route_reply = yes ,This started
>>> capturing replies, but those are UAS to Kamailio side
>>> replies. For debug I added xlog in the onsend_route and
>>> print the reply messages. I am not sure, is that
>>> sip_trace method issue or the onsend_route issue. Please
>>> guide me is there anything else I can do for it.
>>>
>>> Thanks,
>>> Salah
>>>
>>>
>>> On Fri, Aug 23, 2019 at 2:29 PM Salah Ahmed
>>> <txrubel at gmail.com <mailto:txrubel at gmail.com>> wrote:
>>>
>>> Hello Henning,
>>>
>>> Is there anything wrong what we want to do?
>>>
>>> Thanks,
>>> Salah
>>>
>>> On Thu, Aug 22, 2019 at 2:56 PM Salah Ahmed
>>> <txrubel at gmail.com <mailto:txrubel at gmail.com>> wrote:
>>>
>>> Hello Henning,
>>>
>>> Yes this is correct, this reply came from UAS.
>>> We got this correctly. But we want to get, which
>>> kamailio sent to UAC side.
>>>
>>> This following reply, we want to get by
>>> onreply_route
>>>
>>> 3(23) DEBUG: <core>
>>> [core/msg_translator.c:2306]:
>>> generate_res_buf_from_sip_res(): copied size:
>>> orig:130, new: 16, rest: 773 msg=
>>> SIP/2.0 200 OK
>>> Via: SIP/2.0/UDP
>>> 172.32.100.100:5055;branch=z9hG4bK-254-1-0
>>> Record-Route: <sip:172.32.0.6:5060;lr;ftag=1>
>>> Call-ID: T1_MYSER
>>> From: <sip:caller at 172.32.100.100
>>> <mailto:sip%3Acaller at 172.32.100.100>>;tag=1
>>> To: "callee" <sip:3228090000 at 172.32.0.6
>>> <mailto:sip%3A3228090000 at 172.32.0.6>>;tag=6fb31703-d630-4140-a41b-7270cdcae85b
>>> CSeq: 1 INVITE
>>> Server: MYX Callcontrol
>>> Contact: <sip:172.32.10.70:5060
>>> <http://172.32.10.70:5060>>
>>> Allow: OPTIONS, SUBSCRIBE, NOTIFY, PUBLISH,
>>> INVITE, ACK, BYE, CANCEL, UPDATE, REGISTER,
>>> MESSAGE, REFER
>>> Supported: timer, replaces, norefersub
>>> Remote-Party-ID: <sip:s at 172.32.0.6
>>> <mailto:sip%3As at 172.32.0.6>>;privacy=off;screen=no
>>> Content-Type: application/sdp
>>> Content-Length: 178
>>>
>>> v=0
>>> o=- 53655765 2353687639 IN IP4 172.32.10.70
>>> s=session
>>> c=IN IP4 172.32.10.70
>>> t=0 0
>>> m=audio 10006 RTP/AVP 0
>>> a=rtpmap:0 PCMU/8000
>>> a=ptime:20
>>> a=maxptime:150
>>> a=sendrecv
>>>
>>> Thanks,
>>> Salah
>>>
>>> On Thu, Aug 22, 2019 at 2:52 PM Henning
>>> Westerholt <hw at skalatan.de
>>> <mailto:hw at skalatan.de>> wrote:
>>>
>>> (moved the discussion to user list)
>>>
>>> Hello Salah,
>>>
>>> I see the this output in the log message:
>>>
>>> 6(26) INFO: <script>: on_reply_route
>>> [SIP/2.0 200 OK
>>> Via: SIP/2.0/UDP
>>> 172.32.0.6;rport=5060;received=172.32.0.6;branch=z9hG4bKe68a.99dc492fe74dcfe1017828521a5fa362.0
>>>
>>> 2(22) INFO: <script>: on_reply_route
>>> [SIP/2.0 100 Trying
>>> Via: SIP/2.0/UDP
>>> 172.32.0.6;rport=5060;received=172.32.0.6;branch=z9hG4bK178a.79cddb135aabfc42736fd9e9fd826ba8.0
>>>
>>> and so on.. So you are seeing the replies
>>> correctly, or I wrong?
>>>
>>> Cheers,
>>>
>>> Henning
>>>
>>> Am 22.08.19 um 21:29 schrieb Salah Ahmed:
>>>> Hello Henning,
>>>>
>>>> We already added xlog in the onreply_route
>>>> and found all messages in between kamailio
>>>> and UAS. The attached log files in first
>>>> email has those logs. If any other specific
>>>> log needed I am here to provide them.
>>>>
>>>> Thanks,
>>>> Salah
>>>>
>>>> On Thu, Aug 22, 2019 at 2:24 PM Henning
>>>> Westerholt <hw at skalatan.de
>>>> <mailto:hw at skalatan.de>> wrote:
>>>>
>>>> Hello Salah,
>>>>
>>>> ok, see if you are able to output some
>>>> easy log with "xlog" in this route, to
>>>> make sure there is no cfg problem
>>>> somewhere.
>>>>
>>>> Cheers,
>>>>
>>>> Henning
>>>>
>>>> Am 22.08.19 um 21:15 schrieb Salah Ahmed:
>>>>> Hello Henning,
>>>>>
>>>>> Thanks for quick reply, We armed the
>>>>> t_on_reply just before t_relay() in
>>>>> the route block.
>>>>>
>>>>> t_on_reply("LOGRPL");
>>>>> if (!t_relay()) {
>>>>> sl_reply_error();
>>>>> }
>>>>>
>>>>> Thanks,
>>>>> Salah
>>>>>
>>>>> On Thu, Aug 22, 2019 at 2:03 PM
>>>>> Henning Westerholt <hw at skalatan.de
>>>>> <mailto:hw at skalatan.de>> wrote:
>>>>>
>>>>> Hello Salah,
>>>>>
>>>>> the replies are going from the UAS
>>>>> to the UAC over Kamailo as a
>>>>> proxy, with the exception of the
>>>>> hop-by-hop 100.
>>>>>
>>>>> So you should see the 200 OK in
>>>>> the Kamailio in reply_route and
>>>>> onreply_route. Maybe you can check
>>>>> if you armed the onreply_route
>>>>> with t_on_reply for the INVITE
>>>>> routing.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Henning
>>>>>
>>>>> Am 22.08.19 um 19:50 schrieb Salah
>>>>> Ahmed:
>>>>>> Hello,
>>>>>>
>>>>>> We facing an issue on capturing
>>>>>> sip message in Kamailio(Version:
>>>>>> 5.2.3). The scenario is very simple.
>>>>>>
>>>>>> UAC Kamailio
>>>>>> UAS
>>>>>> |--------INVITE--------->|
>>>>>> |
>>>>>> |
>>>>>> |-------INVITE------->|
>>>>>> |
>>>>>> |<------100 Trying----|
>>>>>> |<-------100 Trying------|
>>>>>> |
>>>>>> |
>>>>>> |<------200 Ok--------|
>>>>>> |<-------200 Ok----------|
>>>>>> |
>>>>>>
>>>>>> In this simple scenario, we can't
>>>>>> catch any reply messages in
>>>>>> between the Kamailio and UAC. We
>>>>>> have
>>>>>> tried reply_route, onreply_route,
>>>>>> and onsend_route. But no one work
>>>>>> to grep that reply on that side.
>>>>>> onsend_route was bad try as its
>>>>>> only for forwarded reply message.
>>>>>> Is there any other magic to
>>>>>> capture those replies. A debug=3
>>>>>> log message attached here.
>>>>>>
>>>>>> Thanks,
>>>>>> Salah
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Kamailio (SER) - Development Mailing List
>>>>>> sr-dev at lists.kamailio.org <mailto:sr-dev at lists.kamailio.org>
>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>>>>>
>>>>> --
>>>>> Henning Westerholt - https://skalatan.de/blog/
>>>>> Kamailio services - https://skalatan.de/services
>>>>>
>>>> --
>>>> Henning Westerholt - https://skalatan.de/blog/
>>>> Kamailio services - https://skalatan.de/services
>>>>
>>> --
>>> Henning Westerholt - https://skalatan.de/blog/
>>> Kamailio services - https://skalatan.de/services
>>>
>>>
>>> _______________________________________________
>>> Kamailio (SER) - Users Mailing List
>>> sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>> --
>> Henning Westerholt - https://skalatan.de/blog/
>> Kamailio services - https://skalatan.de/services
>>
> --
> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
--
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190827/6bb7de6a/attachment.html>
More information about the sr-users
mailing list