3364 Commits

Author SHA1 Message Date
Spencer Thomason
afb00b2ecc Force rport on ADTRAN TA Devices
ADTRAN Total Access devices do not support sending the rport parameter in
the Via header. This allows us to detect the device and force rport when
using the "safe" parameter, enabling the device to be used behind NAT.

FS-6823 #resolve
2014-10-02 13:09:15 -07:00
Anthony Minessale
9e9175321a FS-6886 #resolve 2014-10-02 11:30:13 -05:00
Anthony Minessale
789e1481ed FS-6880 #resolve #comment I would think that in real life once the call agreed on a codec it would only offer the negotiated codecs but we can fix this to always filter for good measure. I am not sure what the ramifications are of filtering responses but I think this patch will do so as well. 2014-10-01 13:03:50 -05:00
Brian West
644b41f792 FS-6874 #resolve 2014-09-30 17:05:06 -05:00
Anthony Minessale
24084adf77 %FEATURE Add new feature to filter the SDP on bypass_media calls to remove or limit codecs.
VARIABLE: bypass_media_sdp_filter

Can be set globally or per leg on the inbound side of a bypass_media bridge.

VALID FILTERS:

remove(): Removes the specified codec if it exists in the SDP.
only():   Removes all codecs besides the one specified (providing that it exists in the sdp) (will not remove telephone-event))

EXAMPLE 1 (remove everything leaving only g729):

  <action application="set" data="bypass_media_sdp_filter=only(g729)"/>
  <action application="set" data="bypass_media=true"/>
  <action application="bridge" data="sofia/internal/1238@conference.freeswitch.org"/>

EXAMPLE 2 (remove everything leaving only g729 and also remove dtmf):

  <action application="set" data="bypass_media_sdp_filter=only(g729)|remove(telephone-event)"/>
  <action application="set" data="bypass_media=true"/>
  <action application="bridge" data="sofia/internal/1238@conference.freeswitch.org"/>

EXAMPLE 3 (remove alaw and speex):

  <action application="set" data="bypass_media_sdp_filter=remove(pcma)|remove(speex)"/>
  <action application="set" data="bypass_media=true"/>
  <action application="bridge" data="sofia/internal/1238@conference.freeswitch.org"/>
2014-10-01 01:28:10 +05:00
Travis Cross
5bd35471f7 Add var to suppress Privacy: none header
Apparently the MetaSwitch guys incorrectly interpret `Privacy: none`
as `Privacy: id`.

ref: RFC 3325

Reported-by: Stéphane Alnet <stephane@shimaore.net>

FS-6817 #resolve
2014-09-11 19:56:19 +00:00
Anthony Minessale
7144b25254 obey sip_copy_custom_headers on bye 2014-09-12 00:37:19 +05:00
Anthony Minessale
77c99b6306 FS-6806 #resolve #comment off by 1 error in last fix 2014-09-10 20:32:36 +05:00
Mike Jerris
98c8a9b508 Merge pull request #38 in FS/freeswitch from ~ALEXDG/freeswitch-event-for-gateway-ping:master to master
* 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
2014-09-08 14:35:47 -05:00
Anthony Minessale
a73583b5f3 FS-6806 #resolve 2014-09-09 00:09:31 +05:00
Alexander Haugg
388e9638de 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 2014-09-05 10:57:01 +02:00
Travis Cross
5c29d8d4fa Show gateway uptime in seconds
In `sofia status gateway ...` let's show the uptime in seconds rather
than in microseconds.  We'll output the uptime in microseconds in
`xmlstatus` and we'll label it as such.
2014-09-04 05:39:26 +00:00
Steven Ayre
93bd5833c2 Add uptime property to mod_sofia gateways
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>
2014-09-04 03:43:36 +00:00
Travis Cross
5a209a9680 Remove misleading tport example from configs
As an example of using mod_sofia's gateway parameter `contact-params`
we'd used the value `tport=tcp`.  Looking around, it's clear this has
misled people into believing you can specify `tport=tcp` to make the
gateway use TCP or `tport=tls` to make the gateway use TLS.  This does
not work.

The actual contact parameter is named `transport` rather than `tport`,
and you shouldn't use `transport` in `contact-params` because we
automatically add a `transport` to the Contact: based on the value of
`register-transport` (even if the gateway is set to not register).

It's clear why this would be confusing, so we'll just remove this as
an example.
2014-08-27 23:15:45 +00:00
Brian West
1dc44067cd FS-6770 #resolve 2014-08-27 13:28:15 -05:00
Stan Gor
64060c7dbd Add sofia gateway parameter "destination-prefix"
FS-5497 add sofia gateway parameter destination-prefix in case you need to send Invites to your provider with prefix only to this gateway
2014-08-19 11:54:09 -07:00
Anthony Minessale
e3e84a7820 FS-6679 #resolve 2014-08-09 02:13:00 +05:00
Anthony Minessale
5075d4af0d fix typo that can lead to seg 2014-07-30 22:17:47 +05:00
Anthony Minessale
49700ecf0f fix extraneous < in sip url parser 2014-07-30 22:13:57 +05:00
Brian West
940171c623 FS-6670 #resolve #comment Doh, see this one is dangerous 2014-07-21 16:04:36 -05:00
Brian West
c15663cba2 FS-6670 #resolve #comment This should resolve this fun stuff. 2014-07-21 15:58:32 -05:00
Anthony Minessale II
83a4305003 Merge pull request #6 in FS/freeswitch from ~FRANCOIS/fs-6568:master to master
* commit 'e3b0d7219e1ea269ccd7c5f04747ad21f62c73b2':
  Fix BLF confusion when dealing with the same extension in multiple domains
2014-07-18 12:27:19 -05:00
Anthony Minessale
3ce4ae962b FS-6540 #comment please test this patch for the added notify functionality 2014-07-17 22:35:04 -05:00
Anthony Minessale
91d405a2c1 call recovery_track on recovering channels once the recovery has completed and fix race condition with repeated recovery 2014-07-16 21:40:23 +05:00
Travis Cross
1b7360159a Associate "sending early media" log with session 2014-07-16 04:57:39 +00:00
Anthony Minessale
c58e64bf6d add some more headers to sip messages 2014-07-16 00:55:46 +05:00
Mike Jerris
6dca24bb2a Merge pull request #5 in FS/freeswitch from ~KATHLEEN.KING/freeswitch-fork:clang-warnings-werror to master
* commit '1affff9db4aaa29ab66f9f5db76f575eeabd86b5':
  Fixed a clang-3.5 missing-prototype warning and added doxygen documentation for switch_channel_set_presence_data_vals. #doxygen
  Fixed dead code.
  Fixed trucation of value warning.
  Removed a useless called to abs.
  Removed an autological-pointer-compare from src/switch_utils.c.
  Fixed trucation of value warning.
2014-07-14 17:38:21 -05:00
Brian West
a0a8a66525 FS-6420 2014-07-10 10:17:54 -05:00
Brian West
36fd87a67a Merge pull request #7 in FS/freeswitch from ~PFOURNIER/freeswitch:bugfix/t38_require_timer to master
* commit '21ae587063eb3b55c690f47cf9299a539ec25415':
  Disabling Require timer for T.38 re-Invites cause problems
2014-07-09 10:49:04 -05:00
Brian West
28e90addf2 FS-5501 fire event on profile start 2014-07-09 08:53:14 -05:00
Patrice Fournier
21ae587063 Disabling Require timer for T.38 re-Invites cause problems
Disabling Require timer for T.38 re-Invites tells the remote side it
doesn't need to refresh the session but FreeSwitch will still terminate
the call if the remote session doesn't refresh.
2014-07-08 01:00:52 -04:00
François
e3b0d7219e Fix BLF confusion when dealing with the same extension in multiple domains 2014-07-06 16:57:50 +02:00
Kathleen King
85699480b3 Fixed trucation of value warning.
There was a parameter mismatch between abs(), which expects an int,
and atol() which returns a long. Since max_drift is defined as an int,
there is no need to pars q as a long rather than an int.
2014-07-03 14:41:24 -07:00
Anthony Minessale
2423fc7d0f FS-6540 This should proxy all refers now, the param has changed to proxy-refer 2014-06-30 12:53:22 -05:00
Travis Cross
52fb53cba4 Allow reincarnation from mod_sofia's shutdown-on-fail
mod_sofia's parameter shutdown-on-fail now accepts the value
"reincarnate-now".  This will cause the switch to exit immediately
with a non-zero exit code so that the supervisor can recover the
switch.  For this to work you have to pass in -reincarnate or
-reincarnate-reexec to freeswitch.
2014-06-27 22:18:39 +00:00
Travis Cross
80ed14ab3e Ensure mod_sofia params can be unset or reset
This is the result of auditing each mod_sofia profile parameter to
ensure that it can be unset or reset after being set.  One use-case
for this being done correctly is so a later parameter in a
configuration file can reliably override an earlier one, which is
useful for setups with layered include files.
2014-06-26 09:04:56 +00:00
Travis Cross
75feed68fc Avoid leaking memory on sofia profile reload
We were leaking the string values of apply-candidate-acl parameters.
2014-06-26 08:39:55 +00:00
Travis Cross
f7b4ec617a Allow SIP UPDATE messages without display updates
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
2014-06-25 20:43:29 +00:00
Brian West
8f47f403fd FS-6612: Don't use rport in tcp or tls 2014-06-20 10:23:05 -05:00
Anthony Minessale
49ee6781a5 FS-6540 please test 2014-06-05 23:49:50 +05:00
Anthony Minessale
3ab1044d6e FS-6562 --resolve 2014-06-03 15:16:45 -04:00
Brian West
6722e3dfea fix regression from regression 2014-06-02 19:25:04 -05:00
Brian West
f358c35b67 remove debug line 2014-06-02 19:21:02 -05:00
Anthony Minessale
a7b9329a08 FS-6446 regression fixed 2014-06-02 19:09:48 -05:00
Anthony Minessale
956da6d689 Modify sofia profile to attempt to bind to the interface up to 3 tries with a 5 second wait between attempts.
Add new profile params bind-attempts and bind-attempt-interval to modify default behavior.
--NEEDSDOCS
2014-06-02 22:47:26 +05:00
Anthony Minessale
7c2b4381cf FS-6446 --resolve 2014-05-27 20:40:00 +05:00
Marc Olivier Chouinard
ed6dd184f7 FS-6482 Commit 7e15c938e21ec39ceaaf0d67772156129d85ceb9 broke MWI for device having no transport parameters (plain UDP connection) 2014-05-23 08:42:16 -04:00
Anthony Minessale
bedf8327b6 FS-6418 FS-6427 add profile param NDLB-proxy-never-patch-reinvites to solve both issues 2014-05-21 03:31:50 +05:00
William King
c19aa584cc CID: 1214222
sofia_glue_get_url_from_contact to strdup the value so before
overwriting the value signal to sofia that we have finished with the
raw header.
2014-05-16 17:01:03 -07:00
William King
388e119e55 CID: 1214221,1214222
sip_header_as_string returns new memory alloc'd on the nua_handle's memory pool. This memory would not be freed until
the handle was destroyed. Since there is no usage of the call-info header after it is added to the event as a header value,
we should make sure to both su_free the sofia returned string, but also more cleanly create the event header value to reduce a strdup.
2014-05-16 16:35:49 -07:00