summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-11Merge "res_pjsip_outbound_publishing: After unloading the library won't load ↵Joshua Colp
again"
2016-05-11Merge "res_pjsip_outbound_publish: Won't unload if condition wait times out"Joshua Colp
2016-05-11Merge "res_pjsip_outbound_publish: Ref leak in off nominal callback paths"Joshua Colp
2016-05-11Merge "res_pjsip_outbound_publish: Potential crash due to off nominal path"Joshua Colp
2016-05-11Merge "res_pjsip: improve realtime performance"Joshua Colp
2016-05-11Merge "res_fax/t38_gateway: Peer V.21 session is created on wrong channel"zuul
2016-05-10followme: delete the right recorded name fileTzafrir Cohen
FollowMe with the option a records the name of the caller and plays it to the callee. However it has failed to clean up that recorded file as it tried to delete the file name without the '.sln' extension. ASTERISK-26008 #close Change-Id: I79d7b1be7d5cde57bf076d9389e2a8a4422776ec Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
2016-05-10Merge "app_confbridge: Add a regcontext option for confbridge bridge profiles."Joshua Colp
2016-05-10basic-cfg: asterisk.conf: don't set languagesTzafrir Cohen
* No need to set language in a miniml configuration. 'en' will do just fine. * It would be useful to have an example of setting it to a different language. * Setting the documentation language explicitly is likewise not required. Setting it to a different value is not common. At least until there is a set of translated documentation. Change-Id: I94d91ea34e129925f25af81ef8dc0906fb568cb7 Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
2016-05-10basic-cfg: asterisk.conf: debug level 5 spamsTzafrir Cohen
Don't suggest users to use debug level 5, which spews (usually non-useful) debug information. Reduce the suggestion to (an arbitrarily-selected) level 2. Change-Id: Ib53195f78945970956ff59ef13fa89b90e0fcd60 Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
2016-05-10basic-cfg: asterisk.conf: defaults of optionsTzafrir Cohen
Note the default of remmed-out options. To clarify that those values are not the defaults. Change-Id: I849c29b7a710f0abc37355fcb5bfee335ae30738 Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
2016-05-10basic-cfg: asterisk.conf: remove [directories]Tzafrir Cohen
A minimal configuration does not need to explicitly spell out the directories. The built-in defaults will do just fine. In many cases they are wrong. Change-Id: Id1a671e5c5e9923765a4156b57f9f7e263fdd26c Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
2016-05-09Merge "res_pjsip_authenticator_digest: Don't use source port in nonce ↵zuul
verification"
2016-05-09Merge "pjproject_bundled: Check for python-dev and TEST_FRAMEWORK"Joshua Colp
2016-05-09Merge "res_pjsip_pubsub: Use common datastores container API."Joshua Colp
2016-05-09Merge "datastore: Add common container based datastores API."zuul
2016-05-09res_pjsip_authenticator_digest: Don't use source port in nonce verificationKevin Harwell
From the issue reporter: "res_pjsip_outbound_authenticator_digest builds a nonce that is a hash of the timestamp, the source address, the source port, a server UUID that is calculated at startup, and the authentication realm. Rather than caching nonces that we create, we instead attempt to re-calculate the nonce when receiving an incoming request with authentication. We then compare the re-calculated nonce to the incoming nonce, and if they don't match, then authentication has failed early. The problem is that it is possible, especially when using TCP, to receive two requests from the same endpoint but have differing source ports for those requests. Asterisk itself commonly will use different source ports for outbound TCP requests." This patch removes the source port dependency when building the nonce. ASTERISK-25978 #close Change-Id: I871b5f4adce102df1c4988066283095ec509dffe
2016-05-09config_transport: Tell pjproject to allow all SSL/TLS protocolsGeorge Joseph
The default tls settings for pjproject only allow TLS 1, TLS 1.1 and TLS 1.2. SSL is not allowed. So, even if you specify "sslv3" for a transport method, it's silently ignored and one of the TLS protocols is used. This was a new behavior of pjsip_tls_setting_default() in 2.4 (when tls.proto was added) that we never caught. Now we need to set tls.proto = 0 after we call pjsip_tls_setting_default(). This tells pjproject to set the socket protocol to match the method. ASTERISK-26004 #close Change-Id: Icfb55c1ebe921298dedb4b1a1d3bdc3ca41dd078
2016-05-09Merge "res_pjsip: module load priority"Joshua Colp
2016-05-09res_pjsip_pubsub: Use common datastores container API.Joshua Colp
This migrates res_pjsip_pubsub over to using the newly introduce common datastores management API instead of using its own implementations for both subscriptions and publications. As well the extension state data now provides a generic datastores container instead of a subscription. This allows the dialog-info+xml body generator to work for both subscriptions and publications. ASTERISK-25999 #close Change-Id: I773f9e4f35092da0f653566736a8647e8cfebef1
2016-05-09datastore: Add common container based datastores API.Joshua Colp
This change introduces a common container based datastores management API. This has been done in a few places across the tree but this consolidates all of the logic into one place in a generic fashion. ASTERISK-25999 Change-Id: I72eb15941dcdbc2a37bb00a33ce00f8755bd336a
2016-05-09Merge "file: Ensure nativeformats remains valid for lifetime of use."Joshua Colp
2016-05-09app_confbridge: Add a regcontext option for confbridge bridge profiles.Jaco Kroon
This patch allows for having app_confbridge register the name of the conference as an extension into a specific context, similar to regcontext for chan_sip. This variant is not quite as involved as the one in chan_sip and doesn't allow for multiple contexts or custom extensions, you can only specify the context and the conference name will always be used as the extension to register. ASTERISK-25989 #close Change-Id: Icacf94d9f2b5dfd31ef36f6cb702392619a7902f
2016-05-08pjproject_bundled: Check for python-dev and TEST_FRAMEWORKGeorge Joseph
The pjsua and pjsystest apps are now built only if TEST_FRAMEWORK is set. The python bindings are now built only if TEST_FRAMEWORK is set and a python development package is installed. libresample was also disabled. ASTERISK-25993 #close Reported-by: Joshua Colp Change-Id: If4e91c503a02f113d5b71bc8b972081fa3ff6f03
2016-05-06res_pjsip: module load priorityAlexei Gradinari
The res_pjsip_authenticator_digest, res_pjsip_endpoint_identifier_* and res_pjsip_registrar modules should load ASAP to avoid "No matching endpoint found" for legitimate endpoint. ASTERISK-25994 Change-Id: Iac95d95ad031e0be104189d29e923a2ad7c24a1b
2016-05-06stasis_endpoints: Add new Status and Headers to ContactStatusAlexei Gradinari
ASTERISK-25903 added a new headers to AMI Event ContactStatusDetail. ASTERISK-25904 added a new Status to AMI Event ContactStatusDetail. These additions should be also in stasis_endpoints to include in command "manager show event ContactStatus" Change-Id: I7610ad02a998e1f26c20caa27aa50279d0164f6a
2016-05-06Merge "config_options.c: Expand #ifdef to contain whole if statement."zuul
2016-05-05res_pjsip_outbound_publish: state potential dropped on reloads/realtime fetchesKevin Harwell
When reloading, or fetching realtime data, if the "apply" failed for any numerous reasons the current state object would not be maintained. This potentially resulted in publishes being stopped for some states/clients when they should not have been. This patch makes it so the current state object is kept upon any type of reload/ fetch failures. Change-Id: Iab6020c116d628ed2ae81183e987e2eaa3c90b30
2016-05-05res_pjsip_outbound_publishing: After unloading the library won't load againKevin Harwell
The same thing was happening in res_pjsip_publish_asterisk. When the library was unloaded it did not unregister the object type from sorcery. Subsequent loads resulted in a failed load due to the sorcery type already existing. Change-Id: Ifdc25e94e4cd40bc5a19eb4d0a00b86c2e9fedc9
2016-05-05res_pjsip_outbound_publish: Won't unload if condition wait times outKevin Harwell
When res_pjsip_outbound_publish unloads it has to wait for all current publishing objects to get done. However if the wait condition times out then it does not fail the unload. This sometimes results in an infinite loop check while unloading. This patch now fails the unload operation if the condition times out. Change-Id: Id57b8cbed9d61222690fcba1e4f18e259df4c7ec
2016-05-05res_pjsip_outbound_publish: Ref leak in off nominal callback pathsKevin Harwell
There were a few spots where the client object's reference was being leaked in sip_outbound_publish_callback. This patch cleans up those leaks. Change-Id: I485d0bc9335090f373026f77c548042e258461df
2016-05-05res_pjsip_outbound_publish: Potential crash due to off nominal pathKevin Harwell
It was possible for the explicit publish destroy function to be called without the pjsip client ever being initialized. This fix checks to make sure there is a client to destroy before attempting. Change-Id: I8eea1bfa3bd472149bfc255310be2a6248688f5c
2016-05-05file: Ensure nativeformats remains valid for lifetime of use.Joshua Colp
It is possible for the nativeformats of a channel to change throughout its lifetime. As a result a user of it needs to either ensure the channel is locked when accessing the formats or keep a reference to the nativeformats themselves. This change fixes the file playback support so it keeps a reference to the nativeformats when accessing things. ASTERISK-25998 #close Change-Id: Ie45b65475e1481ddf05b874ee48f63e39fff8915
2016-05-05res_pjsip: improve realtime performanceAlexei Gradinari
This patch modified pjsip_options to retrieve only permament contacts for aor if the qualify_frequency is > 0 and persisted contacts if the qualify_frequency is > 0. This patch also fixed a bug in res_sorcery_astdb. res_sorcery_astdb doesn't save object data retrived from astdb. ASTERISK-25826 Change-Id: I1831fa46c4578eae5a3e574ee3362fddf08a1f05
2016-05-05res_fax/t38_gateway: Peer V.21 session is created on wrong channelAlexei Gradinari
The channel and peer V.21 sessions are created on the same channel now. The peer V.21 session should be created only on peer channel when one of channel can handle T.38. Also this patch enable debug for T.38 gateway session if global fax debug enabled. ASTERISK-25982 Change-Id: I78387156ea521a77eb0faf170179ddd37a50430e
2016-05-05pjsip: Added "reg_server" to contacts (fixed alembic)Alexei Gradinari
ASTERISK-25931 Change-Id: Icc4321a88f5c93ff809da3f372eebbf69c6a8549
2016-05-04config_options.c: Expand #ifdef to contain whole if statement.Chris Trobridge
ASTERISK-25956 #close Change-Id: If6961ec54be276d5ab4f012ee7e7b420cb45de38
2016-05-04res_fax: add FAXMODE variableAlexei Gradinari
The app_fax set FAXMODE variable, but res_fax missing this feature. This patch add FAXMODE variable which is set to either "audio" or "T38". ASTERISK-25980 Change-Id: Ie3dcbfb72cc681e9e267a60202f7fb8723a51b6b
2016-05-04Merge "app_chanspy: fix audiohook options in non read-only mode"Joshua Colp
2016-05-04Merge "app_voicemail: always copy dynamic struct to avoid race condition"Joshua Colp
2016-05-03Merge "res_pjsip/AMI: add contact.updated event"zuul
2016-05-03Merge "pjproject_bundled: Various fixes discovered during testing of OSes"zuul
2016-05-03app_chanspy: fix audiohook options in non read-only modeJean Aunis
When option 'o' was not set, ChanSpy created its audiohook with the flag AST_AUDIOHOOK_MUTE_WRITE, which caused ChanSpy to listen audio from one direction only. ASTERISK-25866 #close Change-Id: I5c745855eea29a3fbc4e4aed0b0c0f53580535e0
2016-05-03res_pjsip/AMI: add contact.updated eventAlexei Gradinari
With the old SIP module AMI sends PeerStatus event on every successfully REGISTER requests, ie, on start registration, update registration and stop registration. With PJSIP AMI sends ContactStatus only when status is changed. Regarding registration: on start registration - Created on stop registration - Removed but on update registration nothing This patch added contact.updated event. ASTERISK-25904 Change-Id: I8fad8aae9305481469c38d2146e1ba3a56d3108f
2016-05-03Merge "pjsip: Added "reg_server" to contacts."zuul
2016-05-03Merge "configs/basic-pbx/asterisk.conf: contains incorrect path separator"Joshua Colp
2016-05-03pjproject_bundled: Various fixes discovered during testing of OSesGeorge Joseph
For all OSes: * Disabled third-party codecs in pjproject and added '--disable-speex-codec --disable-speex-aec --disable-gsm-codec' to the configure options since we don't use the pjsip codec capability. FreeBSD: * Added FreeBSD support to install_prereq. * Changed pjproject/configure.m4 to use $GNU_MAKE instead of hardcoding "make". * Added __progname and environ to asterisk.exports.in. * Reverted the use of ldconfig to create shared library symlinks to ln. * Only enable epoll in pjproject if `uname -s` is Linux. * Added a patch to pjproject to take the name of the 'make' command from an environment variable if supplied. This is needed for the python bindings. (merged by Teluu into pjproject trunk 5/3/2016) FreeBSD support isn't complete. Still some general issues regarding make/gmake having nothing to do with pjproject. With some handholding it DOES build successfully. CentOS: Added 'patch' and 'bzip2' to install_prereq PACKAGES_RH. CentOS 6/7 32/64 build and run the pjsip testsuite successfully. Ubuntu: No changes required. Ubuntu 15/16 32/64 build and run the pjsip testsuite successfully. Debian: No changes required. Debian 6/7/8 32/64 build and run the pjsip testsuite successfully. There will utimately be a follow-up patch to create an install_prereq for the testsuite as I've discovered a few missing requirements. ASTERISK-25968 #close Change-Id: I5756a07facfc63798115a5e73a8709382fe9259c
2016-05-03Merge "res_pjsip_exten_state: Create PUBLISH messages."zuul
2016-05-03app_voicemail: always copy dynamic struct to avoid race conditionAndrew Nagy
Voicemail email addresses can be corrupt or voicemail emails can end up being sent to the wrong email address if asterisk is reading voicemail.conf during a reload and processing an email at the same time. This patch always copies the struct that would otherwise only be copied once. ASTERISK-24463 #close Reported by: John Campbell Tested by: Etienne Lessard Tested by: Andrew Nagy Change-Id: I3a0643813116da84e2617291903d0d489b7425fb
2016-05-02pjsip: Added "reg_server" to contacts.Alexei Gradinari
If the Asterisk system name is set in asterisk.conf, it will be stored into the "reg_server" field in the ps_contacts table to facilitate multi-server setups. ASTERISK-25931 Change-Id: Ia8f6bd2267809c78753b52bcf21835b9b59f4cb8