Merge "sip_to_pjsip: Parse register even with transport."

This commit is contained in:
Joshua Colp
2016-08-18 11:50:16 -05:00
committed by Gerrit Code Review

View File

@@ -926,6 +926,17 @@ class Registration:
the right of the user, then finish by using rpartition calls to remove the right of the user, then finish by using rpartition calls to remove
everything to the left of the user. 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(':') colons = user_part.count(':')
if (colons == 3): if (colons == 3):
# :domainport:secret:authuser # :domainport:secret:authuser
@@ -946,11 +957,7 @@ class Registration:
# Invalid setting # Invalid setting
raise raise
pre_domain, sep, self.domain = pre_auth.partition('@') self.user, 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'
def write(self, pjsip, nmapped): def write(self, pjsip, nmapped):
""" """