Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions bandwidth/voice/bxml/verbs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@
from .ring import Ring
from .stop_gather import StopGather
from .start_gather import StartGather
from .tag import Tag
from .sip_uri import SipUri
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
phone_number.py
sip_uri.py

Representation of Bandwidth's phone number BXML verb
Representation of Bandwidth's sip uri BXML verb

@copyright Bandwidth INC
"""
Expand All @@ -10,37 +10,40 @@

from .base_verb import AbstractBxmlVerb

PHONE_NUMBER_TAG = "PhoneNumber"
SIP_URI_TAG = "SipUri"


class PhoneNumber(AbstractBxmlVerb):
class SipUri(AbstractBxmlVerb):

def __init__(self, number=None, transfer_answer_url=None, transfer_answer_method=None,
username=None, password=None, tag=None, transfer_disconnect_url=None, transfer_disconnect_method=None,
def __init__(self, uri=None, transfer_answer_url=None, transfer_answer_method=None,
username=None, password=None, tag=None, uui=None,
transfer_disconnect_url=None, transfer_disconnect_method=None,
transfer_answer_fallback_url=None, transfer_answer_fallback_method=None,
fallback_username=None, fallback_password=None):
"""
Initializes the PhoneNumber class with the following parameters
Initializes the SipUri class with the following parameters

:param str number: The phone number
:param str uri: The sip uri
:param str transfer_answer_url: The url to send the transfer event to
:param str transfer_answer_method: The http method of the transfer event request
:param str transfer_disconnect_url: The url to send the transfer disconnect event to
:param str transfer_disconnect_method: The http method of the transfer disconnect event request
:param str username: The username to authenticate on the transfer event url
:param str password: The password to authenticate on the transfer event url
:param str tag: Custom string sent in the callback
:param str uui: The value of the `User-To-User` header to send within the initial `INVITE`
:param str transfer_answer_fallback_url: URL for fallback events
:param str transfer_answer_fallback_method: HTTP method for fallback events
:param str fallback_username: Basic auth username for fallback events
:param str fallback_password: Basic auth password for fallback events
"""
self.number = number
self.uri = uri
self.transfer_answer_url = transfer_answer_url
self.transfer_answer_method = transfer_answer_method
self.username = username
self.password = password
self.tag = tag
self.uui = uui
self.transfer_disconnect_method = transfer_disconnect_method
self.transfer_disconnect_url = transfer_disconnect_url
self.transfer_answer_fallback_url = transfer_answer_fallback_url
Expand All @@ -54,9 +57,9 @@ def to_etree_element(self):

:return etree.Element: The etree Element representing this class
"""
root = etree.Element(PHONE_NUMBER_TAG)
if self.number is not None:
root.text = self.number
root = etree.Element(SIP_URI_TAG)
if self.uri is not None:
root.text = self.uri
if self.transfer_answer_url is not None:
root.set("transferAnswerUrl", self.transfer_answer_url)
if self.transfer_answer_method is not None:
Expand All @@ -67,6 +70,8 @@ def to_etree_element(self):
root.set("password", self.password)
if self.tag is not None:
root.set("tag", self.tag)
if self.uui is not None:
root.set("uui", self.uui)
if self.transfer_disconnect_method is not None:
root.set("transferDisconnectMethod", self.transfer_disconnect_method)
if self.transfer_disconnect_url is not None:
Expand Down
38 changes: 38 additions & 0 deletions bandwidth/voice/bxml/verbs/tag.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
"""
play_audio.py

Representation of Bandwidth's play audio BXML verb

@copyright Bandwidth INC
"""

from lxml import etree

from .base_verb import AbstractBxmlVerb

TAG_TAG = "Tag"


class Tag(AbstractBxmlVerb):

def __init__(self, tag=None):
"""
Initializes the Tag class with the following parameters

:param str tag: The tag to set the call to
"""
self.tag = tag

def to_etree_element(self):
"""
Converts the class into an etree element. Used for other verb classes to build xml

:return etree.Element: The etree Element representing this class
"""
root = etree.Element(TAG_TAG)
if self.tag is not None:
root.text = self.tag
return root

def to_bxml(self):
return etree.tostring(self.to_etree_element()).decode()
7 changes: 6 additions & 1 deletion bandwidth/voice/bxml/verbs/transfer.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class Transfer(AbstractBxmlVerb):

def __init__(self, transfer_caller_id=None, call_timeout=None, tag=None, transfer_complete_url=None,
transfer_complete_method=None, username=None, password=None, diversion_treatment=None,
diversion_reason=None, phone_numbers=None,
diversion_reason=None, phone_numbers=None, sip_uris=None,
transfer_complete_fallback_url=None, transfer_complete_fallback_method=None,
fallback_username=None, fallback_password=None):
"""
Expand All @@ -33,6 +33,7 @@ def __init__(self, transfer_caller_id=None, call_timeout=None, tag=None, transfe
:param str diversion_treatment: The diversion treatment for the call
:param str diversion_reason: The diversion reason for the call
:param list<PhoneNumber> phone_numbers: The numbers to receive the transferred call
:param list<SipUri> sip_uris: The sip uris to receive the transferred call
:param str transfer_complete_fallback_url: URL for fallback events
:param str transfer_complete_fallback_method: HTTP method for fallback events
:param str fallback_username: Basic auth username for fallback events
Expand All @@ -48,6 +49,7 @@ def __init__(self, transfer_caller_id=None, call_timeout=None, tag=None, transfe
self.diversion_treatment = diversion_treatment
self.diversion_reason = diversion_reason
self.phone_numbers = phone_numbers
self.sip_uris = sip_uris
self.transfer_complete_fallback_url = transfer_complete_fallback_url
self.transfer_complete_fallback_method = transfer_complete_fallback_method
self.fallback_username = fallback_username
Expand Down Expand Up @@ -84,4 +86,7 @@ def to_bxml(self):
if self.phone_numbers is not None:
for phone_number in self.phone_numbers:
root.append(phone_number.to_etree_element())
if self.sip_uris is not None:
for sip_uri in self.sip_uris:
root.append(sip_uri.to_etree_element())
return etree.tostring(root).decode()
11 changes: 0 additions & 11 deletions bandwidth_sdk.egg-info/PKG-INFO

This file was deleted.

139 changes: 0 additions & 139 deletions bandwidth_sdk.egg-info/SOURCES.txt

This file was deleted.

1 change: 0 additions & 1 deletion bandwidth_sdk.egg-info/dependency_links.txt

This file was deleted.

6 changes: 0 additions & 6 deletions bandwidth_sdk.egg-info/requires.txt

This file was deleted.

1 change: 0 additions & 1 deletion bandwidth_sdk.egg-info/top_level.txt

This file was deleted.

10 changes: 0 additions & 10 deletions build/lib/bandwidth/__init__.py

This file was deleted.

Loading