Fix callflow issues with 3pcc=true and 3pcc=proxy and interactions with sip_wait_for_aleg_ack
removes passthrough of 183 on 3pcc=proxy (that was previously not functioning)
Allow to force SIP REGISTER Expires: to be within MIN and MAX values.
Not just to force it to one specific value using "sip-force-expires".
New profile parameters:
"sip-force-expires-min"
"sip-force-expires-max"
added xml fetch for channels to externally support nightmare transfer
depends on channel-xml-fetch-on-nightmare-transfer profile param (default is disabled)
When all-reg-options-ping is enabled, this adds a new custom event to mod_sofia
(sofia::sip_user_state), which is fired when a client stops responding to such
ping packets (or when it is reachable again).
Add two needed new columns to the sip_registrations table:
- ping_status, which is "Reachable" or "Unreachable" depending on the client
status;
- ping_count, which tracks the number of ping responses received and is used
to provide some kind of hysteresis to avoid firing the event in case of
transitory network failures.
Then ping_count is checked against two threshold values, sip-user-ping-min
and sip-user-ping-max in a similar fashion as the ping-{max,min} options for
the gateways. These two values are configurable in the profile's xml
configuration file.
Also, if unregister-on-options-fail is enabled, the client is unregistered
based on the number of OPTIONS failure which is also checked against the
sip-user-ping-{min,max} values.
* commit '388e9638de7c14e00272777245dacc87cf09fc1c':
F-5946 add the patches. if in the sofia gateway config the param pin-monitoring is true, then every ping result raise an sofia::gateway-state event
The 'UP' status indicates a gateway is online as determined by
registration and/or SIP OPTIONS pinging.
The time the gateway has been in the 'UP' status is recorded,
and can be monitored using 'sofia status' and 'sofia xmlstatus'.
This can be used to detect and graph when there are outages.
ref: FS-6772
Reviewed-by: Travis Cross <tc@traviscross.com>
Previously if send-display-update was set to false we would also
remove UPDATE from our Allow: headers. This is unnecessary. The
UPDATE message is useful in SIP transactions even if we're not sending
display updates.
With this commit, we add a new boolean profile flag, allow-update. If
set to true we'll send Allow: UPDATE. If set to false, we will not.
If there is a conflict with another setting that requires UPDATE
support, the allow-update parameter will win and a warning will be
printed.
ref: RFC 3311
Adds app: enable_keepalive 0|<seconds>
This app can be run in the dialplan or with execute_on_* type variables for B-legs.
Adds sofia param: keepalive-method : defaults to MESSAGE can also be "INFO"
This param sets which SIP method to use.
These all were set before but now are disabled by default because they are not proper to have enabled without a good reason.
tcp-unreg-on-socket-close
If registration is TCP or TLS and socket connection is interrupted, unregister the client.
tcp-always-nat
Treat all TCP connections as NATTED, this causes all traffic back to the phone to reuse the existing TCP socket but may
cause problems when not used with TCP keepalive.
tls-always-nat
Same as tcp-always-nat but only for TLS connections.