Skip to content

sangoma/ursine

Repository files navigation

ursine - a bearable sip uri library

Build Status Doc State


installing

ursine is packaged and available on pypi

pip install ursine

basic usage

from ursine import URI, Header

# build new URIs / Headers
uri = URI.build(scheme='sip', host='10.10.10.10', transport='tcp')
print(uri)  # sip:10.10.10.10;transport=tcp
header = Header.build(display_name='Alice', uri=uri, tag='xyz')
print(header)  # "Alice" <sip:10.10.10.10;transport=tcp>;tag=xyz

# parse existing ones
uri = URI('sips:[::1]:5080')
uri.scheme == 'sips'
uri.host == '[::1]'
uri.transport == 'tcp'

header = Header('"Bob" <sips:[::1]:5080>;tag=abc')
header.display_name == 'Bob'
header.tag == 'abc'
header.uri.scheme == 'sips'

# Header and URI objects are immutable
alice_uri = URI('sip:alice@10.10.10.10')
modified_uri = alice_uri.with_user(None)  # 'sip:10.10.10.10;transport=udp'
modified_uri != alice_uri