summaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)Author
2016-10-17Update for 13.12.0-rc113.12.0-rc1Mark Michelson
2016-10-11Add text of cdr directory into README.md for ast-db-manageRodrigo Ramírez Norambuena
Change-Id: I68321c4bea50730c39fdb486e5f23aeadd1ad636
2016-10-07alembic: Allow cdr, config and voicemail to exist in the same schemaGeorge Joseph
cdr, config and voicemail are all separate alembic trees. Because alembic's default is to use a table named 'alembic_version' to store the current tree revision, the 3 trees can't exist in the same schema without stepping on each other. Now each tree uses 'alembic_version_<tree_name>' as the version table. Each tree's env.py script now first checks for 'alembic_version'. If it finds it AND its revision is in the tree's history, the script renames it to 'alembic_version_<tree_name>'. Regardless, the script then continues with the migration using 'alembic_version_<tree_name>' and creates that table if it's not found. The result is that if an existing 'alembic_version' table was found but it didn't belong to this tree, it's left alone and 'alembic_version_<tree_name>' is used or created. WARNING: If multiple trees are using the same schema, they MUST NOT CRU or D any objects with names that might exist in the other trees. An example would be 'yesno_values' type. If two trees perform operations on it, one tree could pull it out from under the other. Thankfully we currently don't share any names among cdr, config and voicemail. NOTE: Since the env.py scripts in each tree were identical, a common env.py has been placed in the ast-db-manage directory and a symlink to it has been placed in each tree directory. ASTERISK-24311 #close Reported-by: Dafi Ni Change-Id: I4d593f000350deb5d21a14fa1e9bc3896844d898
2016-09-14Merge "sip_to_pjsip.py: Map legacy_useroption_parsing." into 13zuul
2016-09-14Merge "res_pjsip: Add ignore_uri_user_options option." into 13zuul
2016-09-09sip_to_pjsip.py: Map legacy_useroption_parsing.Richard Mudgett
Map the sip.conf general section legacy_useroption_parsing to the new pjsip.conf global ignore_uri_user_options. ASTERISK-26316 Reported by: Kevin Harwell Change-Id: I78108a31995db19d41f4e1a07b3324692c5363fc
2016-09-09res_pjsip: Add ignore_uri_user_options option.Richard Mudgett
This implements the chan_sip legacy_useroption_parsing option but with a better name. * Made the caller-id number and redirecting number strings obtained from incoming SIP URI user fields always truncated at the first semicolon. People don't care about anything after the semicolon showing up on their displays even though the RFC allows the semicolon. ASTERISK-26316 #close Reported by: Kevin Harwell Change-Id: Ib42b0e940dd34d84c7b14bc2e90d1ba392624f62
2016-09-09contrib: Let safe_asterisk script continue without /dev/tty9.Walter Doekes
If you use the safe_asterisk script, it uses hardcoded defaults before running configurable values from /etc/asterisk/startup.d. The hardcoded default has TTY=9. Some containerized environments don't have such a TTY, and safe_asterisk would stop. The custom configuration from /etc/asterisk/startup.d/* isn't read until after it stopped, so changing TTY in a custom config did not help. This changeset changes safe_asterisk to continue if the TTY setting was untouched and /dev/tty9 and /dev/vc/9 aren't found. Change-Id: I2c7cdba549b77f418a0af4cb1227e8e6fe4148fc
2016-09-06Merge "sip_to_pjsip.py: Map canreinvite as directmedia alias." into 13zuul
2016-09-06Merge "sip_to_pjsip.py: Fix typo converting outboundproxy registration." into 13zuul
2016-09-02sip_to_pjsip.py: Map canreinvite as directmedia alias.Richard Mudgett
Change-Id: I48b8e150f96a3d2a24d8fc25fbe4f5aff9f4a6b2
2016-09-02sip_to_pjsip.py: Fix typo converting outboundproxy registration.Richard Mudgett
Change-Id: I6f30e5f9fcf8469ba0079fbf884047d54c2c0b15
2016-09-02sip_to_pjsip.py: Fix comment typo and tabs.Richard Mudgett
Change-Id: If35174614545727817d329c60ba4456c028941b5
2016-08-26sip_to_pjsip: Migrate IPv4/IPv6 (Dual Stack) configurations.Alexander Traud
When using the migration script sip_to_pjsip.py, and your sip.conf is configured with bindaddr=::, two transports are written to pjsip.conf, one for 0.0.0.0 (IPv4) and one for [::] (IPv6). That way, PJProject listens on the IPv4 and IPv6 wildcards; a IPv4/IPv6 Dual Stack configuration on a single interface like in chan_sip. Furthermore, the script internal functions "build_host" and "split_hostport" did not parse Literal IPv6 addresses as expected (like [::1]:5060). This change makes sure, even such addresses are parsed correctly. ASTERISK-26309 Change-Id: Ia4799a0f80fc30c0550fc373efc207c3330aeb48
2016-08-19Merge "sip_to_pjsip: Map externhost/ip to Transports." into 13zuul
2016-08-19Merge "sip_to_pjsip: Add cert_file." into 13zuul
2016-08-19Merge "res_pjsip: Add contact_user to endpoint" into 13zuul
2016-08-19sip_to_pjsip: Add cert_file.Alexander Traud
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-18Merge "sip_to_pjsip: Write cos and tos." into 13Joshua Colp
2016-08-18sip_to_pjsip: Set correct tls transport methodKevin Harwell
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-18Merge "sip_to_pjsip: Parse register even with transport." into 13Joshua Colp
2016-08-18Merge "sip_to_pjsip: Write local_net, contact_acl, contact_deny, and ↵Joshua Colp
contact_permit." into 13
2016-08-18Merge "sip_to_pjsip: Map (session-)timers correctly." into 13Joshua Colp
2016-08-18Merge "sip_to_pjsip: Add cert_file and ca_list_path." into 13Joshua Colp
2016-08-18Merge "sip_to_pjsip: Write username even without authname." into 13Joshua Colp
2016-08-18Merge "sip_to_pjsip: Map the TLS method correctly." into 13Joshua Colp
2016-08-18Merge "sip_to_pjsip: Add compactheaders, timerb, timert1, and useragent." ↵Joshua Colp
into 13
2016-08-18Merge "sip_to_pjsip: Write media_encryption." into 13Joshua Colp
2016-08-18sip_to_pjsip: Map the TLS method correctly.Alexander Traud
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-18sip_to_pjsip: Add compactheaders, timerb, timert1, and useragent.Alexander Traud
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-18sip_to_pjsip: Map (session-)timers correctly.Alexander Traud
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-18sip_to_pjsip: Write username even without authname.Alexander Traud
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-18sip_to_pjsip: Parse register even with transport.Alexander Traud
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-18sip_to_pjsip: Write local_net, contact_acl, contact_deny, and contact_permit.Alexander Traud
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-18sip_to_pjsip: Map externhost/ip to Transports.Alexander Traud
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-18sip_to_pjsip: Add defaultexpiry, maxexpiry, and minexpiry.Alexander Traud
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-18sip_to_pjsip: Write media_encryption.Alexander Traud
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-18sip_to_pjsip: Write cos and tos.Alexander Traud
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-18sip_to_pjsip: Add cert_file and ca_list_path.Alexander Traud
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-17res_pjsip: Add contact_user to endpointGeorge Joseph
contact_user, when specified on an endpoint, will override the user portion of the Contact header on outgoing requests. Change-Id: Icd4ebfda2f2e44d3ac749d0b4066630e988407d4
2016-08-11alembic: add auth_username to endpoint's identify_by enumKevin Harwell
A new identify_by option was added recently, auth_username. However, this setting was not added as an allowable choice in the database enumeration value. This patch updates the current enumeration, adding in the new setting. ASTERISK-26268 #close Change-Id: Ib4788e8485e4cd40172ec0abbf5810a147ab8bf8
2016-08-10alembic/sqlalchemy: auto increment only allowed on a single columnKevin Harwell
The extensions table defined two columns (id and priority) as primary key autoincrement columns. However only one is allowed when defining the primary key. This patch removes the autoincrement attribute from the priority column since it does not need to be as such and really should not have been on there in the first place. This patch also removes 'context', 'exten', and 'priority' from the primary key index and creates a new combined unique contraint index on them. ASTERISK-26183 #close Change-Id: Ib9c712c612a4d7ec1edb0dcb77f1bae0905a470b
2016-08-08res_pjsip_mwi: fix unsolicited mwi blocks PJSIP stackAlexei Gradinari
The PJSIP taskprocessors could be overflowed on startup if there are many (thousands) realtime endpoints configured with unsolicited mwi. The PJSIP stack could be totally unresponsive for a few minutes after boot completed. This patch creates a separate PJSIP serializers pool for mwi and makes unsolicited mwi use serializers from this pool. This patch also adds 2 new global options to tune taskprocessor alert levels: 'mwi_tps_queue_high' and 'mwi_tps_queue_low'. This patch also adds new global option 'mwi_disable_initial_unsolicited' to disable sending unsolicited mwi to all endpoints on startup. If disabled then unsolicited mwi will start processing on next endpoint's contact update. ASTERISK-26230 #close Change-Id: I4c8ecb82c249eb887930980a800c9f87f28f861a
2016-08-03astconfigparser: Really handle case where line is simply a comment.Joshua Colp
The regular expression would match causing the code that handled the line if it was merely a comment to never get executed. Change-Id: I3e4022481037ebcba9905587fe8c764b4ce21819
2016-07-29astconfigparser: Handle case where line is simply a comment.Joshua Colp
Change-Id: I2dea5815363f4d787d709228a04f33baee383ef5
2016-07-28Merge "astconfigparser.py: Update with realtime fixes." into 13Joshua Colp
2016-07-26astconfigparser.py: Update with realtime fixes.Joshua Colp
When configuring SIP URIs in the pjsip.conf file it is necessary to escape the semicolon so the parser does not treat it as a comment. This change allows this to work in the astconfigparser implementation. A secondary bug where some data was lost if a configuration option included a "=" in its value was also fixed. A bug where sections would be considered equal despite being different has also been fixed. Change-Id: If229f656ef22050b50e7b34e90c4bffe796431f8
2016-07-22Fix sqlalchemy error regarding identifier length.Mark Michelson
sqlalchemy was complaining: sqlalchemy.exc.IdentifierError: Identifier 'ps_contacts_qualifyfreq_exptime' exceeds maximum length of 30 characters This fixes the problem by changing the index name to be "ps_contacts_qualifyfreq_exp" instead. ASTERISK-26227 #close Reported by Mark Michelson Change-Id: I0ed784f87504be2a59ee8d3242ef6f625d5ed1a9
2016-07-19res_pjsip: Add fax_detect_timeout endpoint option.Richard Mudgett
The new endpoint option allows the PJSIP channel driver's fax_detect endpoint option to timeout on a call after the specified number of seconds into a call. The new feature is disabled if the timeout is set to zero. The option is disabled by default. ASTERISK-26214 Reported by: Richard Mudgett Change-Id: Id5a87375fb2c4f9dc1d4b44c78ec8735ba65453d
2016-07-12Merge "install_prereq: Checkout of libSRTP 1.5.x." into 13zuul