[sr-dev] Is there a sense in calling run_onsend() after the msg_send() function?
Daniel-Constantin Mierla
miconda at gmail.com
Wed Aug 27 13:43:42 CEST 2014
Hello,
parsing should be done only if the onsend route is enabled:
- perhaps would be good to add a define in onsend.h, not to hardcode in
other modules the test on onsend_rt.rlist, like:
#define onsend_enabled() (onsend_rt.rlist[DEFAULT_RT]?1:0)
From performances point of view, there can be added a config parameter
to enable running of onsend_route for replies:
onsend_route_reply = 0|1
#define onsend_enabled(rtype)
(onsend_rt.rlist[DEFAULT_RT]?((rtype==SIP_REPLY)?onsend_route_reply:1):0)
On the other hand, is onsend_route also executed for local requests? I
had in mind it is only for received requests that are forwarded ...
Iirc, on onsend_route, the sip message is the one received, the outgoing
content being accessible via $snd(buf).
Cheers,
Daniel
On 27/08/14 13:19, Lucian Balaceanu wrote:
> Hi,
>
> In response to the previous mail, I have attempted to create a
> suitable patch for calling onsend_route in the replies. However, I
> need some input from somebody more knowledgeable.
>
> You will find I changed the following code locations:
>
> forward.c -> do_forward_reply() function
> sl_funcs.c -> sl_reply_helper() function
> t_reply.c -> _reply_light() function
>
> Am I missing out any location where the onsend function should be
> called? I am particularly thinking of such cases as relayed replies,
> retransmitted replies (t_retransmit_reply).
>
> Additionally, in t_reply.c, I force the parsing of the message buffer
> into a sip_msg; do you see this as a perceivable slowdown in general
> kamailio performance?
>
> Any input is valuable.
>
> Thank you,
> Lucian
>
> On 08/04/2014 05:16 PM, Daniel-Constantin Mierla wrote:
>> Hello,
>>
>> the reason for onsend_route was to get access to outgoing buffer
>> (what is sent to network) as well as the local socket and remote
>> socket attributes (proto, ip, port). There is no option to make
>> changes on the outgoing buffer anymore, the action that could be done
>> is stop sending to the network (discarding).
>>
>> It was done for requests, but there were discussions to make this
>> available for replies as well. The code you provided in not in public
>> repository, but it seems it aims for that (at least for stateless
>> replies). The onsend callback should be indeed called before
>> msg_send() to get the behavior expected (to be able to drop the
>> reply, for example).
>>
>> If you get a patch to have the onsend_route for replies, it would be
>> welcomed on the public repo.
>>
>> Cheers,
>> Daniel
>>
>> On 04/08/14 15:57, Lucian Balaceanu wrote:
>>> Hi,
>>>
>>> I am currently trying to understand some kamailio code and came
>>> across this construct inside do_forward_reply() function (code in
>>> italics is not part of upstream kamailio):
>>>
>>> *do_forward_reply(struct sip_msg* msg, int mode){*
>>> ...
>>> ...
>>> apply_force_send_socket(&dst, msg);
>>>
>>> if (msg_send(&dst, new_buf, new_len)<0)
>>> {
>>> STATS_RPL_FWD_DROP();
>>> goto error;
>>> }
>>> /* ...
>>> dst.send_sock=get_send_socket(msg, &dst.to, dst.proto);
>>> ...
>>> run_onsend(msg, &dst, new_buf, new_len);*/
>>> *}*
>>>
>>> Is there really a sense in calling run_onsend() after the msg_send()
>>> function? In my understanding (based on onsend_route uasge)
>>> run_onsend() is used to make some last minute changes before a
>>> message is sent to a destination.
>>>
>>> Thank you,
>>> Lucian Balaceanu
>>>
>>>
>>> _______________________________________________
>>> sr-dev mailing list
>>> sr-dev at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>
>> --
>> Daniel-Constantin Mierla -http://www.asipto.com
>> http://twitter.com/#!/miconda -http://www.linkedin.com/in/miconda
>>
>>
>> _______________________________________________
>> sr-dev mailing list
>> sr-dev at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 - http://www.asipto.com
Sep 22-25, Berlin, Germany ::: Oct 15-17, San Francisco, USA
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20140827/c36f8c5d/attachment.html>
More information about the sr-dev
mailing list