diff options
author | Alexander Traud <pabstraud@compuserve.com> | 2016-08-18 15:13:03 +0200 |
---|---|---|
committer | Alexander Traud <pabstraud@compuserve.com> | 2016-08-18 08:27:04 -0500 |
commit | 0d479232ebf423c454b75051c83b35476ce7e688 (patch) | |
tree | 9b8a64ef67ec8c169bc783e7ac575eb9bf4adba5 /contrib | |
parent | 56e0aed17758b1cad338e84c5457824cee874d95 (diff) |
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
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/scripts/sip_to_pjsip/sip_to_pjsip.py | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/contrib/scripts/sip_to_pjsip/sip_to_pjsip.py b/contrib/scripts/sip_to_pjsip/sip_to_pjsip.py index 890921673..22c749e5f 100755 --- a/contrib/scripts/sip_to_pjsip/sip_to_pjsip.py +++ b/contrib/scripts/sip_to_pjsip/sip_to_pjsip.py @@ -54,10 +54,11 @@ def set_value(key=None, val=None, section=None, pjsip=None, def merge_value(key=None, val=None, section=None, pjsip=None, - nmapped=None, type='endpoint', section_to=None): + nmapped=None, type='endpoint', section_to=None, + key_to=None): """Merge values from the given section with those from the default.""" def _merge_value(k, v, s, r, n): - merge_value(key if key else k, v, s, r, n, type, section_to) + merge_value(key if key else k, v, s, r, n, type, section_to, key_to) # if no value or section return the merge_value # function with the enclosed key and type @@ -71,7 +72,8 @@ def merge_value(key=None, val=None, section=None, pjsip=None, sect = sip.default(section)[0] # for each merged value add it to pjsip.conf for i in sect.get_merged(key): - set_value(key, i, section_to if section_to else section, + set_value(key_to if key_to else key, i, + section_to if section_to else section, pjsip, nmapped, type) @@ -454,9 +456,9 @@ peer_map = [ ['permit', merge_value(type='acl', section_to='acl')], ['deny', merge_value(type='acl', section_to='acl')], ['acl', merge_value(type='acl', section_to='acl')], - ['contactpermit', merge_value('contact_permit', type='acl', section_to='acl')], - ['contactdeny', merge_value('contact_deny', type='acl', section_to='acl')], - ['contactacl', merge_value('contact_acl', type='acl', section_to='acl')], + ['contactpermit', merge_value(type='acl', section_to='acl', key_to='contact_permit')], + ['contactdeny', merge_value(type='acl', section_to='acl', key_to='contact_deny')], + ['contactacl', merge_value(type='acl', section_to='acl', key_to='contact_acl')], ########################### maps to transport ################################# # type = transport @@ -499,21 +501,6 @@ peer_map = [ ] -def add_localnet(section, pjsip, nmapped): - """ - Adds localnet values from sip.conf's general section to a transport in - pjsip.conf. Ideally, we would have just created a template with the - localnet sections, but because this is a script, it's not hard to add - the same thing on to every transport. - """ - try: - merge_value('local_net', sip.get('general', 'localnet')[0], 'general', - pjsip, nmapped, 'transport', section) - except LookupError: - # No localnet options configured. No biggie! - pass - - def set_transport_common(section, pjsip, nmapped): """ sip.conf has several global settings that in pjsip.conf apply to individual @@ -527,8 +514,8 @@ def set_transport_common(section, pjsip, nmapped): """ try: - merge_value('local_net', sip.get('general', 'localnet')[0], 'general', - pjsip, nmapped, 'transport', section) + merge_value('localnet', sip.get('general', 'localnet')[0], 'general', + pjsip, nmapped, 'transport', section, "local_net") except LookupError: # No localnet options configured. Move on. pass |