diff options
author | Joshua Colp <jcolp@digium.com> | 2016-08-18 11:50:21 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2016-08-18 11:50:21 -0500 |
commit | e251482d88f1f17b116a1d8568557c095dba0e5e (patch) | |
tree | bae042c71856fda7e0b7393c8c98a9c037510d28 /contrib | |
parent | f9e2be625b13fc062e3da7359418ec2a962f9d45 (diff) | |
parent | d0c1a4fd33f58dd1725f20f3b35b1ca4b9c9dc0a (diff) |
Merge "sip_to_pjsip: Parse register even with transport." into 14
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/scripts/sip_to_pjsip/sip_to_pjsip.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/contrib/scripts/sip_to_pjsip/sip_to_pjsip.py b/contrib/scripts/sip_to_pjsip/sip_to_pjsip.py index a4f03b508..4a6004ae1 100755 --- a/contrib/scripts/sip_to_pjsip/sip_to_pjsip.py +++ b/contrib/scripts/sip_to_pjsip/sip_to_pjsip.py @@ -926,6 +926,17 @@ class Registration: the right of the user, then finish by using rpartition calls to remove everything to the left of the user. """ + self.peer = '' + self.protocol = 'udp' + protocols = ['udp', 'tcp', 'tls'] + for protocol in protocols: + position = user_part.find(protocol + '://') + if -1 < position: + post_transport = user_part[position + 6:] + self.peer, sep, self.protocol = user_part[:position + 3].rpartition('?') + user_part = post_transport + break + colons = user_part.count(':') if (colons == 3): # :domainport:secret:authuser @@ -946,11 +957,7 @@ class Registration: # Invalid setting raise - pre_domain, sep, self.domain = pre_auth.partition('@') - self.peer, sep, post_peer = pre_domain.rpartition('?') - transport, sep, self.user = post_peer.rpartition('://') - - self.protocol = transport if transport else 'udp' + self.user, sep, self.domain = pre_auth.partition('@') def write(self, pjsip, nmapped): """ |