Skip to content

Commit 30703a7

Browse files
authored
Merge pull request #27 from Bandwidth/feature/EDGE-630
EDGE-630 Add voice call id to the transfer
2 parents 59aabb2 + 3aa7273 commit 30703a7

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

bandwidth/webrtc/utils/transfer_util.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,20 @@
66
@copyright Bandwidth INC
77
"""
88

9-
def generate_transfer_bxml(device_token, sip_uri='sip:sipx.webrtc.bandwidth.com:5060'):
9+
def generate_transfer_bxml(device_token, voice_call_id, sip_uri='sip:sipx.webrtc.bandwidth.com:5060'):
1010
"""
1111
Returns BXML string with WebRTC a device token to perform a SIP transfer
12+
:param device_token: The device token
13+
:param voice_call_id: The Bandwidth Voice Call Id
14+
:param sip_uri: The SIP URI to transfer the call to
1215
"""
13-
return '<?xml version="1.0" encoding="UTF-8"?><Response>' + generate_transfer_bxml_verb(device_token, sip_uri) + '</Response>'
16+
return '<?xml version="1.0" encoding="UTF-8"?><Response>' + generate_transfer_bxml_verb(device_token, voice_call_id, sip_uri) + '</Response>'
1417

15-
def generate_transfer_bxml_verb(device_token, sip_uri='sip:sipx.webrtc.bandwidth.com:5060'):
18+
def generate_transfer_bxml_verb(device_token, voice_call_id, sip_uri='sip:sipx.webrtc.bandwidth.com:5060'):
1619
"""
1720
Returns the Transfer verb to perform the SIP transfer
21+
:param device_token: The device token
22+
:param voice_call_id: The Bandwidth Voice Call Id
23+
:param sip_uri: The SIP URI to transfer the call to
1824
"""
19-
return f'''<Transfer><SipUri uui="{device_token};encoding=jwt">{sip_uri}</SipUri></Transfer>'''
25+
return f'''<Transfer><SipUri uui="{"".join(voice_call_id.split("-")[1::])};encoding=base64,{device_token};encoding=jwt">{sip_uri}</SipUri></Transfer>'''

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
setup(
1414
name='bandwidth-sdk',
15-
version='10.1.0',
15+
version='11.0.0',
1616
description='Bandwidth\'s set of APIs',
1717
long_description=long_description,
1818
long_description_content_type="text/markdown",

tests/integration/webrtc_bxml_tests.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ class WebRtcBxmlTests(unittest.TestCase):
1515
Class for the WebRtc BXML tests
1616
"""
1717
def test_generate_transfer_bxml(self):
18-
expected = '<?xml version="1.0" encoding="UTF-8"?><Response><Transfer><SipUri uui="asdf;encoding=jwt">sip:sipx.webrtc.bandwidth.com:5060</SipUri></Transfer></Response>'
19-
actual = generate_transfer_bxml('asdf')
18+
expected = '<?xml version="1.0" encoding="UTF-8"?><Response><Transfer><SipUri uui="93d6f3c0be5845960b744fa28015d8ede84bd1a4;encoding=base64,asdf;encoding=jwt">sip:sipx.webrtc.bandwidth.com:5060</SipUri></Transfer></Response>'
19+
actual = generate_transfer_bxml('asdf', 'c-93d6f3c0-be584596-0b74-4fa2-8015-d8ede84bd1a4')
2020
self.assertEqual(actual, expected)
2121

2222
def test_generate_transfer_bxml_verb(self):
23-
expected = '<Transfer><SipUri uui="asdf;encoding=jwt">sip:sipx.webrtc.bandwidth.com:5060</SipUri></Transfer>'
24-
actual = generate_transfer_bxml_verb('asdf')
23+
expected = '<Transfer><SipUri uui="93d6f3c0be5845960b744fa28015d8ede84bd1a4;encoding=base64,asdf;encoding=jwt">sip:sipx.webrtc.bandwidth.com:5060</SipUri></Transfer>'
24+
actual = generate_transfer_bxml_verb('asdf', 'c-93d6f3c0-be584596-0b74-4fa2-8015-d8ede84bd1a4')
2525
self.assertEqual(actual, expected)
2626

2727

0 commit comments

Comments
 (0)