Commit Graph

27996 Commits

Author SHA1 Message Date
David M. Lee
e54dcf4fd5 res_odbc_transaction: add dep on generic_odbc
When res_odbc_transaction depended on res_odbc, it got the generic_odbc
headers and libs implicitly. Now that it no longer depends on res_odbc,
its dependency on generic_odbc must be explicit.

Change-Id: I9db88f7af7388437f49903d3008ba8d4890d5911
2016-08-21 18:54:26 -05:00
zuul
8778e22b15 Merge "sip_to_pjsip: Map externhost/ip to Transports." into 13 2016-08-19 17:32:34 -05:00
zuul
fcc49d760f Merge "res_ari: Add http prefix to generated docs" into 13 2016-08-19 16:57:06 -05:00
zuul
6b3e96e479 Merge "res_odbc: Correct the dependency relationship with res_odbc_transaction" into 13 2016-08-19 15:52:34 -05:00
zuul
d4a4a23818 Merge "sip.conf: tlsclientmethod is using sslv23 as default." into 13 2016-08-19 15:47:40 -05:00
zuul
16cb686fac Merge "rest-api: Swagger scripts were not replacing format variable in file brief" into 13 2016-08-19 14:11:37 -05:00
zuul
f46f88157e Merge "sip_to_pjsip: Add cert_file." into 13 2016-08-19 12:16:05 -05:00
zuul
d49043c092 Merge "res_format_attr_g729: Add annexb=no format parameter to SDPs" into 13 2016-08-19 11:28:25 -05:00
zuul
504da21d47 Merge "res_pjsip: Add contact_user to endpoint" into 13 2016-08-19 08:13:32 -05:00
zuul
6bea2a55e8 Merge "ari: Add documentation that path parameters are case-sensitive" into 13 2016-08-19 08:05:12 -05:00
Alexander Traud
a628009eb9 sip_to_pjsip: Add cert_file.
When using the migration script sip_to_pjsip.py, cert_file was not migrated to
pjsip.conf. A previous change regarding this contained a copy/paste error.

ASTERISK-22374

Change-Id: I0fa72e9412117d53b4284fc6b83fa5b2b95ba03b
2016-08-19 04:08:09 -05:00
Alexander Traud
b1fe070d0b sip.conf: tlsclientmethod is using sslv23 as default.
When 'tlsclientmethod' is not specified in sip.conf, chan_sip uses the OpenSSL
SSLv23_method. This was documented incorrectly in the file sip.conf.sample.

SSLv23_method got its name in the 90s. Today, with OpenSSL 1.0.2, this method
enables (just) the secure TLSv1.0 and TLSv1.2. Or stated differently, that
function should have been called 'secure_method' or 'automatic_method' back in
the 90s.

Consequently please, specify 'tlsclientmethod=tlsv1' in your sip.conf only if
you face a server which has problems like not falling back to TLSv1.0
automatically.

ASTERISK-24425

Change-Id: I502ce6146b4504cadfd3973af8d6ec3994f54fa3
2016-08-19 02:54:10 -05:00
Joshua Colp
5d4ce33e8c Merge "sip_to_pjsip: Write cos and tos." into 13 2016-08-18 18:55:29 -05:00
Kevin Harwell
ff2378c735 rest-api: Swagger scripts were not replacing format variable in file brief
Given resource paths did not have 'json' substituted in for the '{format}'. For
some auto generated documentation/comment strings it resulted in something like
the following:

"... REST handler for /api-docs/sounds.{format}"

This patch makes sure the resource api's path is properly substituted.

ASTERISK-25472 #close

Change-Id: Ie3e950a35db4043e284019d6c9061f3b03922e23
2016-08-18 17:16:43 -05:00
Kevin Harwell
43f400ef95 res_format_attr_g729: Add annexb=no format parameter to SDPs
Historically, Asterisk has always specified annexb=no for the g729 format.
However, when using res_pjsip no format attribute was specified. This patch
makes it so the SDP now contains a format attribute line with annexb=no.

Note, that this means only g729a is negotiated. Even for pass through support.
According to rfc7261 the type of annex used (a or b) is dependent upon the
answerer. However, Asterisk being a back to back user agent makes this tricky
to support at this time, thus we only allow annex 'a' for now.

ASTERISK-26228 #close
patches:
  res_format_attr_g729.c submitted by Jason Parker (license 4993)

Change-Id: I76bc20cc0a01af01536e9915afef319c269c22d0
2016-08-18 17:15:04 -05:00
George Joseph
4c1ae07d51 res_odbc: Correct the dependency relationship with res_odbc_transaction
The MODULEINFO dependencies between these 2 modules was reversed.
res_odbc should depend on res_odbc_transaction, not the other way
around.

ASTERISK-25984 #close

Change-Id: Ifcfbb49c0b51cf6640a5446d47cd6c48caf1331f
2016-08-18 14:27:58 -06:00
Kevin Harwell
cab6975b02 sip_to_pjsip: Set correct tls transport method
A recent update had a copy/paste error where the unused variable 'val' was
being passed to the set_value function instead of the 'method' value itself.

This patch passes in the right variable.

ASTERISK-22374

Change-Id: I895b7b3779ce4442bc58b8ec40d59dd29bb43f06
2016-08-18 12:10:27 -05:00
Joshua Colp
43254c2db7 Merge "sip_to_pjsip: Parse register even with transport." into 13 2016-08-18 11:50:11 -05:00
Joshua Colp
e3d72c7aee Merge "sip_to_pjsip: Write local_net, contact_acl, contact_deny, and contact_permit." into 13 2016-08-18 11:49:47 -05:00
Joshua Colp
e1ef9e697e Merge "sip_to_pjsip: Map (session-)timers correctly." into 13 2016-08-18 11:49:04 -05:00
Joshua Colp
f5165fd0aa Merge "sip_to_pjsip: Add cert_file and ca_list_path." into 13 2016-08-18 11:48:43 -05:00
Joshua Colp
9426627452 Merge "sip_to_pjsip: Write username even without authname." into 13 2016-08-18 11:48:13 -05:00
Joshua Colp
02f5d30739 Merge "sip_to_pjsip: Map the TLS method correctly." into 13 2016-08-18 11:47:38 -05:00
Joshua Colp
1ae280ed6c Merge "sip_to_pjsip: Add compactheaders, timerb, timert1, and useragent." into 13 2016-08-18 11:46:25 -05:00
Joshua Colp
02f2937f48 Merge "sip_to_pjsip: Write media_encryption." into 13 2016-08-18 11:46:02 -05:00
Joshua Colp
3a22938d12 Merge "sip_to_pjsip: Add defaultexpiry, maxexpiry, and minexpiry." into 13 2016-08-18 11:45:41 -05:00
Alexander Traud
2381ddde63 sip_to_pjsip: Map the TLS method correctly.
When using the migration script sip_to_pjsip.py and tlsclientmethod is not set
in sip.conf, the default value of chan_sip (sslv23) is copied to pjsip.conf, to
overwrite the default of the PJProject (tlsv1). This makes sure, res_pjsip is
offering/using not just TLSv1.0 but TLSv1.2 as well.

ASTERISK-22374

Change-Id: Ie530a3dae9926ae14f3920a21be1e2edb15bda4f
2016-08-18 08:32:54 -05:00
Alexander Traud
6500f5e138 sip_to_pjsip: Add compactheaders, timerb, timert1, and useragent.
When using the migration script sip_to_pjsip.py, no section of type=system or
type=general were created. Therefore the keys compactheaders, timerb, timert1,
and useragent were not migrated to pjsip.conf.

ASTERISK-22374

Change-Id: I318a453843227ea36bf130d392d4abd7bd26b5a1
2016-08-18 08:31:34 -05:00
Alexander Traud
21e9c69e56 sip_to_pjsip: Map (session-)timers correctly.
When using the migration script sip_to_pjsip.py, session-timers=accept and
session-timers=refuse were mapped to wrong values.

ASTERISK-22374

Change-Id: Ie4e90d5f6a29aff07837b7fe5bc8aea5fb6fc092
2016-08-18 08:30:27 -05:00
Alexander Traud
c9a97398f7 sip_to_pjsip: Write username even without authname.
When using the migration script sip_to_pjsip.py, now the (mandatory) username is
written to pjsip.conf, even if there was no (optional) authname in the register
string in sip.conf.

ASTERISK-22374

Change-Id: Ie53e1997104cd2674821688b8a8247249f5e156f
2016-08-18 08:29:00 -05:00
Alexander Traud
60275359bc sip_to_pjsip: Parse register even with transport.
When using the migration script sip_to_pjsip.py and the register string
started with a transport in sip.conf - like tls://... - register was not parsed
correctly and therefore not migrated correctly to pjsip.conf.

ASTERISK-22374

Change-Id: I44c12104eea2bd8558ada6d25d77edfecd92edd2
2016-08-18 08:27:59 -05:00
Alexander Traud
0d479232eb sip_to_pjsip: Write local_net, contact_acl, contact_deny, and contact_permit.
When using the migration script sip_to_pjsip.py, those keys got missing. These
keys might appear several times and the function "merge_value" tried to collect
those. However, because these keys have different names in sip.conf and
pjsip.conf, "merge_value" was not able to find the new key name in sip.conf.
This change lets "merge_value" search with the old key name in sip.conf and
write with the new key name in pjsip.conf.

ASTERISK-22374

Change-Id: Ie53c5278ae6f1cb8fa7e96c5289877d46981d9d2
2016-08-18 08:27:04 -05:00
Alexander Traud
cbc1b2d020 sip_to_pjsip: Map externhost/ip to Transports.
When using the migration script sip_to_pjsip.py, the externhost or externip of
sip.conf were erroneously written to Endpoints instead to Transports.

ASTERISK-22374

Change-Id: I2c5873386cfc388899fa9cf2368639dd12f1b8e4
2016-08-18 08:25:56 -05:00
Alexander Traud
5f33e99534 sip_to_pjsip: Add defaultexpiry, maxexpiry, and minexpiry.
When using the migration script sip_to_pjsip.py, defaultexpiry, maxexpiry, and
minexpiry were not migrated to pjsip.conf.

ASTERISK-22374

Change-Id: I007fbf543dcadc96fc3ed71c54da502bcb209b7b
2016-08-18 08:25:04 -05:00
Alexander Traud
231ea0350d sip_to_pjsip: Write media_encryption.
When using the migration script sip_to_pjsip.py, encryption=yes got missing and
media_encryption=sdes was not written to pjsip.conf, because of a typo.

ASTERISK-22374

Change-Id: I0fc3e55dc512a57603ae0fef41baacccf2a35c05
2016-08-18 08:24:13 -05:00
Alexander Traud
23eb065121 sip_to_pjsip: Write cos and tos.
When using the migration script sip_to_pjsip.py, both tos_sip and cos_sip got
missed, because of a typo. Therefore, cos and tos were not written to
pjsip.conf. Furthermore, that revealed a misuse of an internal function, caused
by a copy-and-paste error.

ASTERISK-22374

Change-Id: Id245ebadf70ab9776eb280c026288540af3af5c2
2016-08-18 08:23:28 -05:00
Alexander Traud
0b675a208b sip_to_pjsip: Add cert_file and ca_list_path.
When using the migration script sip_to_pjsip.py, cert_file and ca_list_path were
not migrated to pjsip.conf.

ASTERISK-22374

Change-Id: I4612877d190b7f86a48698cefbf5c4db6c265825
2016-08-18 08:22:35 -05:00
Richard Mudgett
1cd12d73a6 res_pjsip_session.c: Fix unbound srv failover tests.
Commit 1b666549f3 broke the srv failover
functionality if a TCP connection gets disconnected.  Under these
conditions, session_inv_on_state_changed() gets a
PJSIP_EVENT_TRANSPORT_ERROR and restarts the INVITE transaction on a new
transport.  Unfortunately, session_inv_on_tsx_state_changed() also gets
the same PJSIP_EVENT_TRANSPORT_ERROR event and unconditionally terminates
the session.

* Made session_inv_on_tsx_state_changed() complete terminating the session
on PJSIP_EVENT_TRANSPORT_ERROR only if the session state is still
PJSIP_INV_STATE_DISCONNECTED.

ASTERISK-26305 #close
Reported by: Richard Mudgett

Change-Id: If736e766b5c55b970fa38ca6c8a885caf27b897d
2016-08-17 16:38:19 -05:00
George Joseph
329507fe20 res_pjsip: Add contact_user to endpoint
contact_user, when specified on an endpoint, will override the user
portion of the Contact header on outgoing requests.

Change-Id: Icd4ebfda2f2e44d3ac749d0b4066630e988407d4
2016-08-17 14:39:32 -06:00
Torrey Searle
6f448f32fe res_ari: Add http prefix to generated docs
updated the uri handler to include the url prefix of the http server
this enables res_ari to add it to the uris when generating docs

Change-Id: I279335a2625261a8492206c37219698f42591c2e
2016-08-17 15:33:05 +00:00
Alexander Traud
56e0aed177 BuildSystem: Detect ca_list_path capabilities in external PJProject.
Since Asterisk 13.8, pj_ssl_cert_load_from_files2 got detected only in the
bundled PJProject but not in an external PJProject. Therefore, ca_list_path
could not be used in pjsip.conf. With this change, pj_ssl_cert_load_from_files2
is detected again to enable ca_list_path again.

ASTERISK-26303 #close

Change-Id: I4a4a0cdc5cdff33730911fb4cfc0498c069043d0
2016-08-17 06:23:24 -05:00
George Joseph
2edcfcf1eb ari: Add documentation that path parameters are case-sensitive
Added to api.wiki.mustache so that the generated object pages
have the notation in the table header as well as under each method
that has path parameters.

ASTERISK-25492 #close

Change-Id: I36c46c6dc0c9ac350470394a999a1b19ef3fcdaf
2016-08-16 11:24:29 -06:00
zuul
455bc78901 Merge "Refactor usage pattern of xmldoc info tag." into 13 2016-08-16 12:15:24 -05:00
Joshua Colp
5c24677127 Merge "res_sorcery_config.c: Cleanup ao2 container usage idioms." into 13 2016-08-16 09:09:43 -05:00
Joshua Colp
d85310e3e8 Merge "sorcery.c: Minor optimizations." into 13 2016-08-16 09:09:37 -05:00
zuul
7ed9bc8169 Merge "sorcery.c: Tweak some container declaration formatting." into 13 2016-08-16 09:06:51 -05:00
zuul
643aac69a7 Merge "chan_sip: Fix lastrtprx always updated" into 13 2016-08-16 08:23:48 -05:00
zuul
050b90769a Merge "core: Entity ID is not set or invalid" into 13 2016-08-16 06:43:54 -05:00
zuul
6c4c31456f Merge "pbx.c: Additional fixes to ast_context_remove_extension_callerid2." into 13 2016-08-16 04:51:32 -05:00
Corey Farrell
f4e28b3a09 Refactor usage pattern of xmldoc info tag.
This updates func_channel.c and main/message.c to use a generic xpointer
include instead of including info from each channel driver.  Now the
name attribute of info is CHANNEL or CHANNEL_EXAMPLES to be included in
documentation for func_channel.  Setting the name attribute of info to
MessageToInfo or MessageFromInfo causes it to be included in the
MessageSend application and AMI action.

Change-Id: I89fd8276a3250824241a618009714267d3a8d1ea
2016-08-15 19:02:04 -04:00