3399 Commits

Author SHA1 Message Date
Anthony Minessale
79ebcb104b add enable-chat sofia profile param which defaults to true when not present, set to false to turn off the chat interface in sofia 2014-04-19 12:29:10 -05:00
Anthony Minessale
bce51017fb FS-6462 --resolve
I found a problem here but it may not completely match your expectations.
I reviewed the RFC 4028 and checked against the code and I discovered we should not be putting a Min-SE in any response at all besides a 422:

section 5:

   The Min-SE header field MUST NOT be used in responses except for
   those with a 422 response code.  It indicates the minimum value of
   the session interval that the server is willing to accept.

I corrected this problem and implemented the 422 response so if you request a value lower than the minimum specified for the profile.
If the value is equal or higher to the minimum, it will be reflected in the Session-Expires header in the response and no Min-SE will be present.
2014-04-17 04:26:43 +05:00
Anthony Minessale
a4a792488b add generic keepalive system and implement it in sofia to send MESSAGE or INFO packets in-dialog at specified interval.
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.
2014-04-16 06:10:25 +05:00
Raymond Chandler
052638186b add parsing of user params on invite 2014-04-15 12:48:07 -04:00
Travis Cross
12af80d6b2 Condense styling a bit 2014-04-12 05:06:51 +00:00
Travis Cross
3f8cf4a59d Fix memory leak in subscription handling
We were leaking one event (~539 bytes) for every subscribe packet
received with both an "event: as-feature-event" and an authorization
header.
2014-04-12 05:00:41 +00:00
Brian West
19e3175518 FS-6422: --resolve obvious copy and paste error 2014-04-03 07:20:41 -05:00
Anthony Minessale
7151d6acea FS-6402 part 2 2014-04-02 03:21:37 +05:00
Anthony Minessale
5c0cff70b3 FS-6402 --resolve 2014-04-02 01:20:19 +05:00
Anthony Minessale
c02a5e67b8 FS-6413 --resolve with this patch you will need to make sure the boxes have the clocks synced and both started inside the same occurence of the most recent new year. 2014-03-31 15:23:50 -05:00
Jeff Lenk
1cde5f01e0 FS-6386 --resolve 2014-03-23 16:15:49 -05:00
Michael Jerris
f3acb03dc0 S-6341:make sure to unlock too 2014-03-19 16:38:53 -04:00
Seven Du
6e3f4d667c add missing break, please review 2014-03-19 07:58:13 +08:00
Michael Jerris
65c58a7ceb FS-6341: fix compiler warning from set but unused var 2014-03-17 18:42:02 -04:00
Michael Jerris
340b697e1b FS-6341: --resolve add 3pcc invite w/o sdp support for 100rel/PRACK 2014-03-17 12:27:42 -04:00
Michael Jerris
3c95a52ff6 we are intentionally using a value outside of the enum here as a special value. The compiler will always make this an int anyways, so this is safe. cast to remove the warning 2014-03-15 22:47:55 -04:00
Anthony Minessale
8f703c7a78 FS-6353 regression from 7ba257ecd6c7ced584acbde9122479e885964795 2014-03-14 18:34:08 -04:00
Anthony Minessale
89f9490710 FS-6350 --resolve Parse params out of user portion of caller_id and save them to sip_name_params 2014-03-14 13:13:22 -05:00
Anthony Minessale
e37616e36d do not retry so fast on failed outbound subs 2014-03-14 12:55:50 -05:00
Brian West
7a6e8f4672 FS-6354 --resolve, add realm to sofia::expires event 2014-03-13 11:13:10 -05:00
Anthony Minessale
7ba257ecd6 FS-6353 --resolve 2014-03-13 10:23:13 -05:00
Anthony Minessale
70f2908976 more nat fix 2014-03-11 16:12:43 -05:00
Anthony Minessale
5c8a3b12fd Convert some behaviors to optional.
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.
2014-03-11 15:17:02 -05:00
Anthony Minessale
804ef7709d change from sqlite hash to newly added one 2014-03-09 00:37:17 +05:00
Brian West
07272e864e FS-6321 --resolve
Copy URI params from Refer-To header into custom header in subsequent INVITE

sip_h_X-FS-Refer-Params is set to show up in the INVITE as X-FS-Refer-Params
2014-03-07 12:56:58 -06:00
Anthony Minessale
f87ae15fc6 don't refuse invites on established sessions due to session limits 2014-03-07 23:46:26 +05:00
Anthony Minessale
0da8c6331d don't kick in nat mode on polycom tcp unless its not in the local network 2014-03-07 08:34:26 +05:00
Anthony Minessale
e5b291514c FS-5755
rtp_secure_media=mandatory
rtp_secure_media=optional
rtp_secure_media=mandatory:AES_CM_256_HMAC_SHA1_80,AES_CM_256_HMAC_SHA1_32
rtp_secure_media=optional:AES_CM_256_HMAC_SHA1_80
rtp_secure_media=forbidden

true implies mandatory
false implies forbidden
not set implies optional

rtp_secure_media_inbound or rtp_secure_media_outbound take precedence and are treated the same way based on leg direction
2014-03-06 07:34:47 +05:00
Anthony Minessale
7cb91467e0 FS-5814 --resolve 2014-03-06 00:02:40 +05:00
William King
fd38a255f8 FS-6167 --resolve 2014-03-04 13:41:34 -08:00
Anthony Minessale
2c1a25d5f8 add sip_force_nat_mode so you can engange nat mode manually 2014-03-01 04:43:07 +05:00
Brian West
1d36f5b219 FS-5915 --resolve 2014-02-28 16:09:59 -06:00
Anthony Minessale
2dc71d2d26 add sip_refer_to_params 2014-03-01 00:13:35 +05:00
Anthony Minessale
b82df8a7da FS-6287 this should either prevent the problem or spell out what is causing it. please test 2014-02-28 23:23:30 +05:00
Brian West
45e19b75dd FS-6270 add client_port to SIP Registration events 2014-02-25 21:49:35 -06:00
Anthony Minessale
5646957c5b FS-5937 2014-02-26 04:06:59 +05:00
Marc Olivier Chouinard
9f98ccc105 FS-5115 --resolve 2014-02-24 20:25:31 -05:00
Brian West
97e136c12b FS-5724 include realm in sofia::unregister Event 2014-02-22 18:31:23 -06:00
Travis Cross
19dbd07ff8 Allow access to headers from INVITE
This adds a sip profile parameter parse-all-invite-headers that when
set parses all headers from an INVITE into channel variables.  The
headers are converted to lowercase, underscores are replaced with
dashes, and the result is prefixed with sip_i_.  Headers than exist
more than once are set as arrays.

FS-6075 --resolve

Thanks-to: Peter Olsson <peter@olssononline.se>
2014-02-21 20:45:40 +00:00
Brian West
8bf70dcf47 FS-6164 I can see from this jira that this should be strcasecmp so SIP or sip are caught 2014-02-20 13:50:04 -06:00
Travis Cross
bd72cd9cc1 Allow setting late margin on register expirations
When an endpoint registers to us we internally mark the expiration as
some seconds longer than the actual registration.  Previously this
value was fixed at 60 seconds.

Some people need this value to be shorter so they can meet their SLA
by taking a different action when a device doesn't re-register when
expected.

This commit adds a SIP profile parameter sip-expires-late-margin which
allows setting the margin value we apply here.

FS-6101 --resolve

Thanks-to: Emmanuel Schmidbauer <e.schmidbauer@gmail.com>
2014-02-20 16:07:53 +00:00
Anthony Minessale
b3c02a547e FS-6230 --resolve There was no NAT detection enabled on the calls, this patch will activate it explicitly when used with force-rport to avoid a similar problem with other users 2014-02-14 23:50:17 +05:00
Anthony Minessale
c46bc9d565 FS-6223 --resolve 2014-02-13 22:11:34 +05:00
Anthony Minessale
a0d6ebd80d FS-6222 --resolve 2014-02-13 20:46:05 +05:00
Anthony Minessale
7ed4ed65db 0a63cdc4b2b35bb001513578beff0af431249b4a this might help 2014-02-13 05:50:39 +05:00
Anthony Minessale
0a63cdc4b2 FS-6222 try this patch 2014-02-13 04:08:24 +05:00
Anthony Minessale
35f2bcccf7 FS-6221 --resolve 2014-02-13 03:26:09 +05:00
Ken Rice
6e7d5d0897 update copyright header for 2014 2014-02-12 12:08:56 -06:00
Anthony Minessale
10d2dd3e73 use portable switch_inet_ntop 2014-02-12 03:31:21 +05:00
Travis Cross
d3b9aaba60 Add mod_sofia support for setting socket TCP keepalive
Some OSes like linux provide a mechanism for sending TCP keepalive
pings.  Sofia provides its own mechanism for doing this in userspace.
We shouldn't conflate these two mechanisms.

FS-6104
2014-02-11 06:27:29 +00:00