[pjsip] Making T1, T2, etc. configurable without recompile

Alexander Agranovsky alex at voxeo.com
Tue Nov 20 11:26:45 EST 2007


Hear, hear.

I'd appreciate this as well ;-)

- Alex

On Nov 20, 2007, at 11:22 AM, Christian Grigis wrote:

> Hello Benny,
>
> Pjsip, in accordance with the RFC, uses some values to determine timer
> timeout values in transaction processing, namely T1, T2, T4 and TD.
> Currently these values are #defines (in
> ./pjsip/include/pjsip/sip_config.h) and consequently determined at
> compile-time.
>
> We would like to be able to have the application change the default
> values at runtime, during the initialization of the stack, without
> requiring a recompilation of the SIP stack.
>
> We are perfectly willing to make the necessary changes, but are
> wondering if you had any advice as to how these changes should be  
> made.
>
> After some examination, it appears the constant values are used  
> only in
> the following files:
>
> ./pjsip/include/pjsip/sip_config.h
> ./pjsip/src/pjsip/sip_transaction.c
> ./pjsip/src/test-pjsip/tsx_uac_test.c
> ./pjsip/src/test-pjsip/tsx_uas_test.c
> ./pjsip/src/pjsip-ua/sip_100rel.c
>
> The first thing that comes to mind is to provide a function to  
> override
> the default values, and another function (or rather, one per value),
> that returns either the default value if it has not been  
> overridden, or
> the override value. These last functions would then be used  
> wherever the
> constants were previously used.
>
> Something like:
>
> * a set of 4 values to be somehow passed to
>   pjsip_tsx_layer_init_module(), indicating overrides for T1, T2,  
> T4 and
>   TD (0 meaning no override), stored in static variables
>   pjsip_t1_timeout, pjsip_t2_timeout, pjsip_t4_timeout and
>   pjsip_td_timeout;
>
> * 4 functions similar to:
>
> 	unsigned int pjsip_get_t1_timeout()
> 	{
> 		if (pjsip_t1_timeout > 0) {
> 			return pjsip_t1_timeout;
> 		} else {
> 			return PJSIP_T1_TIMEOUT;
> 		}
> 	}
>
>
> What do you think?
>
> Thanks and best regards,
>
> -Christian
> -- 
> Christian Grigis
> Senior Software Engineer
>
> eyeP Media S.A. -- http://www.eyepmedia.com/
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org





More information about the pjsip mailing list