From ba8adb4ce3ac15198b0dfe38df890d4283ad9bc8 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Thu, 11 Feb 2016 10:01:05 -0700 Subject: res_pjsip/config_transport: Allow reloading transports. The 'reload' mechanism actually involves closing the underlying socket and calling the appropriate udp, tcp or tls start functions again. Only outbound_registration, pubsub and session needed work to reset the transport before sending requests to insure that the pjsip transport didn't get pulled out from under them. In my testing, no calls were dropped when a transport was changed for any of the 3 transport types even if ip addresses or ports were changed. To be on the safe side however, a new transport option was added (allow_reload) which defaults to 'no'. Unless it's explicitly set to 'yes' for a transport, changes to that transport will be ignored on a reload of res_pjsip. This should preserve the current behavior. Change-Id: I5e759850e25958117d4c02f62ceb7244d7ec9edf --- CHANGES | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 5e4c42846..260aa2f3c 100644 --- a/CHANGES +++ b/CHANGES @@ -231,6 +231,13 @@ res_pjproject res_pjsip ------------------ + * Transports are now reloadable. In testing, no in-progress calls were + disrupted if the ip address or port weren't changed, but the possibility + still exists. To make sure there are no unintentional drops, a new option + 'allow_reload', which defaults to 'no' has been added to transport. If + left at the default, changes to the particular transport will be ignored. + If set to 'yes', changes (if any) will be applied. + * Added new global option (regcontext) to pjsip. When set, Asterisk will dynamically create and destroy a NoOp priority 1 extension for a given endpoint who registers or unregisters with us. -- cgit v1.2.3