[SR-Users] CallControl and MediaProxy
Daniel-Constantin Mierla
miconda at gmail.com
Mon Mar 12 11:42:45 CET 2012
Hello,
I will patch and backport during next days -- I was mostly out of the
office during past weeks.
Cheers,
Daniel
On 3/12/12 11:30 AM, Reda Aouad wrote:
> Hi Daniel,
>
> Any plans to backport this to 3.2 ?
> I could still do the changes manually before compilation if you don't
> have time to do it.
>
> Thank you again
> Reda
>
>
>
> On Wed, Feb 29, 2012 at 10:19, Reda Aouad <reda.aouad at gmail.com
> <mailto:reda.aouad at gmail.com>> wrote:
>
> Daniel, It works with flag 28.
> Can you confirm that flag 28 isn't used by another module?
> If so, can you patch it? When is the next release scheduled for?
>
> The following are the changes I made:
>
> modules_k/call_control.c: flag changed to 28
> -------------------------------------------
> #define FL_USE_CALL_CONTROL (1<<28) // use call control for
> a dialog
>
> parser/msg_parser.h: warning added
> -------------------------------------------
> /* WARNING: Value (1 << 28) is temporarily reserved for use in
> kamailio call_control
> * module (flag FL_USE_CALL_CONTROL )! */
>
>
> Thank you :)
> Reda
>
>
>
> On Wed, Feb 29, 2012 at 09:58, Reda Aouad <reda.aouad at gmail.com
> <mailto:reda.aouad at gmail.com>> wrote:
>
> A quick grep on flags FL_* in the sources shows the following :
> Flag 29 is used by acc module, 31 by nat_traversal, 0 to 12 in
> the parser.
> Thus I assume that it is safe to test using flag 28.
> I'll keep you posted on the test result.
>
> You'll also find below warnings in msg_parser.h for the used
> flags. Since flag 30 is declared for mediaproxy in
> msg_parser.h, I'll change the flag of callcontrol to 28.
>
> -----------------------------------------------------------------
> /* WARNING: Value (1 << 29) is temporarily reserved for use in
> kamailio acc
> * module (flag FL_REQ_UPSTREAM)! */
>
> /* WARNING: Value (1 << 30) is temporarily reserved for use in
> kamailio
> * media proxy module (flag FL_USE_MEDIA_PROXY)! */
>
> /* WARNING: Value (1 << 31) is temporarily reserved for use in
> kamailio
> * nat_traversal module (flag FL_DO_KEEPALIVE)! */
> -----------------------------------------------------------------
>
> $ grep -R 'define FL.* (1' src/kamailio/kamailio-3.2.0
>
> modules_k/call_control/call_control.c:#define
> FL_USE_CALL_CONTROL (1<<30) // use call control for a dialog
> modules_k/nat_traversal/nat_traversal.c:#define
> FL_DO_KEEPALIVE (1<<31)
> modules_k/acc/acc.h:#define FL_REQ_UPSTREAM (1<<29)
> parser/msg_parser.h:#define FL_FORCE_RPORT (1 << 0) /*!< force
> rport */
> parser/msg_parser.h:#define FL_FORCE_ACTIVE (1 << 1) /*!<
> force active SDP */
> parser/msg_parser.h:#define FL_SDP_IP_AFS (1 << 2) /*!< SDP
> IP rewritten */
> parser/msg_parser.h:#define FL_SDP_PORT_AFS (1 << 3) /*!< SDP
> port rewritten */
> parser/msg_parser.h:#define FL_SHM_CLONE (1 << 4) /*!< msg
> cloned in SHM as a single chunk */
> parser/msg_parser.h:#define FL_TIMEOUT (1 << 5) /*!<
> message belongs to an "expired" branch
> parser/msg_parser.h:#define FL_REPLIED (1 << 6) /*!<
> message branch received at least one reply
> parser/msg_parser.h:#define FL_HASH_INDEX (1 << 7) /*!<
> msg->hash_index contains a valid value (tm use)*/
> parser/msg_parser.h:#define FL_MTU_TCP_FB (1 << 8)
> parser/msg_parser.h:#define FL_MTU_TLS_FB (1 << 9)
> parser/msg_parser.h:#define FL_MTU_SCTP_FB (1 << 10)
> parser/msg_parser.h:#define FL_ADD_LOCAL_RPORT (1 << 11) /*!<
> add 'rport' to local via hdr */
> parser/msg_parser.h:#define FL_SDP_BODY (1 << 12) /*!<
> msg has SDP in body */
> modules/mediaproxy/mediaproxy.c:#define FL_USE_MEDIA_PROXY (1<<30)
>
> -----------------------------------------------------------------
>
>
> Reda
>
>
>
> On Wed, Feb 29, 2012 at 00:18, Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
> That should be. Try changing one of them to (1<<29) and
> see if all works fine.
>
> On another hand, defining and using core msg flags in a
> module is a risk, a different solution has to be done, a
> simple one is to move the definition of these flags in the
> core, so there will be no overlap in the future.
>
> Cheers,
> Daniel
>
>
> On 2/27/12 9:32 PM, Reda Aouad wrote:
>> I looked into mediaproxy.c and found the following :
>>
>> -------------------------------------------------------
>> #define FL_USE_MEDIA_PROXY (1<<30)
>>
>> ...
>>
>> # dialog callback
>>
>> __dialog_created (...) {
>> ....
>> if ((request->msg_flags & FL_USE_MEDIA_PROXY) == 0)
>> return;
>> ....
>> use_media_proxy (...);
>> }
>> -------------------------------------------------------
>>
>>
>> I also found this in call_control.c
>> -------------------------------------------------------
>> #define FL_USE_CALL_CONTROL (1<<30)
>>
>> # Public API
>> CallControl (...) {
>> ...
>> msg->msg_flags |= FL_USE_CALL_CONTROL;
>> ...
>> }
>> -------------------------------------------------------
>>
>> So I suspect that since the call_control module uses the
>> same flag as the mediaproxy module, call_control function
>> is used, flag 30 is set, and the following condition in
>> the __dialog_created callback function above is never met
>>
>> (request->msg_flags & FL_USE_MEDIA_PROXY) == 0
>>
>> so the callback function continues until executing its
>> last line : use_media_proxy (...)
>> which is called on every call to call_control ( ) function..
>>
>> Reda
>>
>>
>>
>> On Mon, Feb 27, 2012 at 18:39, Reda Aouad
>> <reda.aouad at gmail.com <mailto:reda.aouad at gmail.com>> wrote:
>>
>> Ok thanks Daniel.
>>
>> I'll do what you suggested and we'll see how to proceed.
>>
>> Thanks again
>> Reda
>>
>
>
> --
> Daniel-Constantin Mierla --http://www.asipto.com
> http://linkedin.com/in/miconda -- http://twitter.com/miconda
>
>
>
>
--
Daniel-Constantin Mierla
Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany
http://www.asipto.com/index.php/kamailio-advanced-training/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120312/a076ae71/attachment-0001.htm>
More information about the sr-users
mailing list