Skip to content

Commit 71bc00d

Browse files
committed
update voice snippets
1 parent 2fecdcb commit 71bc00d

17 files changed

+45
-141
lines changed

.env.dist

+3-100
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ VONAGE_API_SECRET='VONAGE_API_SECRET'
44
VONAGE_APPLICATION_ID='VONAGE_APPLICATION_ID'
55
VONAGE_PRIVATE_KEY='VONAGE_PRIVATE_KEY'
66
VONAGE_SIGNATURE_SECRET='VONAGE_SIGNATURE_SECRET'
7-
VONAGE_VIRTUAL_NUMBER='VONAGE_VIRTUAL_NUMBER'
87

98
# Account
109
ACCOUNT_ID='ACCOUNT_ID'
@@ -92,105 +91,9 @@ VERIFY_AMOUNT='VERIFY_AMOUNT'
9291
VERIFY_WORKFLOW_ID='VERIFY_WORKFLOW_ID'
9392

9493
# Voice
95-
VOICE_CALL_ID='VOICE_CALL_ID'
94+
VONAGE_VIRTUAL_NUMBER='VONAGE_VIRTUAL_NUMBER'
9695
VOICE_TO_NUMBER='VOICE_TO_NUMBER'
97-
VOICE_TEXT='VOICE_TEXT'
98-
VOICE_LANGUAGE='VOICE_LANGUAGE'
99-
VOICE_DTMF_DIGITS='VOICE_DTMF_DIGITS'
10096
VOICE_CONFERENCE_NAME='VOICE_CONFERENCE_NAME'
101-
VOICE_ANSWER_URL='VOICE_ANSWER_URL'
102-
VOICE_STREAM_URL='VOICE_STREAM_URL'
10397
VOICE_RECORDING_URL='VOICE_RECORDING_URL'
104-
105-
106-
107-
108-
109-
VONAGE_BRAND_NAME='Acme Inc.'
110-
VONAGE_FB_SENDER_ID='YOUR_FB_MESSENGER_SENDER_ID'
111-
FB_RECIPIENT_ID='YOUR_FB_MESSENGER_RECIPIENT_ID'
112-
CATALOG_ID='YOUR_CATALOG_ID'
113-
PRODUCT_RETAILER_ID='YOUR_PRODUCT_RETAILER_ID'
114-
VIBER_SERVICE_MESSAGE_ID='YOUR_VIBER_SERVICE_MESSAGE_ID'
115-
AUDIO_URL='EXAMPLE_AUDIO_URL'
116-
IMAGE_URL='EXAMPLE_IMAGE_URL'
117-
FILE_URL='EXAMPLE_FILE_URL'
118-
VIDEO_URL='EXAMPLE_VIDEO_URL'
119-
VCARD_URL='EXAMPLE_VCARD_URL'
120-
STICKER_ID='EXAMPLE_STICKER_ID'
121-
STICKER_URL='EXAMPLE_STICKER_URL'
122-
WHATSAPP_TEMPLATE_REPLACEMENT_TEXT='EXAMPLE_TEMPLATE_REPLACEMENT_TEXT'
123-
RCS_SENDER_ID='YOUR_RCS_SENDER_ID'
124-
MESSAGE_UUID='YOUR_MESSAGE_UUID'
125-
GEOSPECIFIC_VONAGE_API_HOST='api-eu.vonage.com'
126-
WHATSAPP_NUMBER='YOUR_WHATSAPP_NUMBER'
127-
WHATSAPP_TEMPLATE_NAMESPACE='YOUR_WHATSAPP_TEMPLATE_NAMESPACE'
128-
WHATSAPP_TEMPLATE_NAME='YOUR_WHATSAPP_TEMPLATE_NAME'
129-
WHATSAPP_AUTH_TEMPLATE_NAME='YOUR_WHATSAPP_AUTH_TEMPLATE_NAME'
130-
131-
# Messages Sandbox
132-
MESSAGES_SANDBOX_URL='YOUR_SANDBOX_URL'
133-
MESSAGES_SANDBOX_FB_ID='YOUR_SANDBOX_FB_ID'
134-
MESSAGES_SANDBOX_ALLOW_LISTED_FB_RECIPIENT_ID='ALLOW_LISTED_FB_RECIPIENT_ID'
135-
MESSAGES_SANDBOX_VIBER_SERVICE_ID='YOUR_SANDBOX_VIBER_SERVICE_ID'
136-
MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER='ALLOW_LISTED_TO_NUMBER'
137-
MESSAGES_SANDBOX_WHATSAPP_NUMBER='YOUR_SANDBOX_WHATSAPP_NUMBER'
138-
MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER='ALLOW_LISTED_TO_NUMBER'
139-
140-
# Signing messages
141-
VONAGE_SIGNATURE_SECRET='YOUR_SIGNATURE_SECRET'
142-
VONAGE_SIGNATURE_SECRET_METHOD='SIGNATURE_METHOD'
143-
144-
# Verify
145-
TO_EMAIL='EMAIL_ADDRESS_TO_VERIFY'
146-
REQUEST_ID='REQUEST_ID'
147-
BRAND_NAME='Acme. Inc'
148-
CODE='CODE_SENT_TO_THE_USER'
149-
WHATSAPP_BUSINESS_NUMBER='YOUR_WHATSAPP_BUSINESS_NUMBER'
150-
151-
# Verify (Legacy)
152-
WORKFLOW_ID=1
153-
154-
# Number Insight
155-
INSIGHT_NUMBER='NUMBER_FOR_INSIGHT'
156-
157-
# Meetings
158-
ROOM_DISPLAY_NAME='YOUR_ROOM_NAME'
159-
ROOM_ID='THE_ROOM_UUID'
160-
THEME_ID='YOUR_THEME_UUID'
161-
SESSION_ID='YOUR_SESSION_UUID'
162-
MAIN_COLOR='#FF0000'
163-
BRAND_TEXT='YOUR_BRAND_NAME'
164-
165-
# Subaccounts
166-
NEW_SUBACCOUNT_NAME='NEW_SUBACCOUNT_NAME'
167-
NEW_SUBACCOUNT_SECRET='NEW_SUBACCOUNT_SECRET'
168-
SUBACCOUNT_KEY='SUBACCOUNT_KEY'
169-
AMOUNT=0.00
170-
START_DATE='START_DATE'
171-
172-
# Voice
173-
CONFERENCE_NAME='NAME_OF_YOUR_CONFERENCE'
174-
YOUR_SECOND_NUMBER='YOUR_SECOND_NUMBER'
175-
RECORDING_URL='RECORDING_URL'
176-
CALL_UUID='CALL_UUID'
177-
LANGUAGE='en-US'
178-
179-
# Numbers
180-
COUNTRY_CODE='GB'
181-
NUMBER_SEARCH_CRITERIA='234'
182-
NUMBER_SEARCH_PATTERN=1
183-
VONAGE_NUMBER='447700900001'
184-
VONAGE_NUMBER_TYPE='mobile-lvn'
185-
VONAGE_NUMBER_FEATURES='SMS,VOICE'
186-
MESSAGES_APPLICATION_ID='12a3b4cd-a1b2-1ab2-a1b2-a1234bc5d678'
187-
VOICE_CALLBACK_TYPE='tel'
188-
VOICE_CALLBACK_VALUE='447700900002'
189-
VOICE_STATUS_URL='https://example.com/webhooks/status'
190-
191-
# Users
192-
USER_NAME='USER_NAME'
193-
USER_DISPLAY_NAME='USER_DISPLAY_NAME'
194-
USER_NEW_NAME='USER_NEW_NAME'
195-
USER_NEW_DISPLAY_NAME='USER_NEW_DISPLAY_NAME'
196-
USER_ID='USER_ID'
98+
VOICE_ANSWER_URL='VOICE_ANSWER_URL'
99+
VOICE_CALL_ID='VOICE_CALL_ID'

voice/connect-an-inbound-call.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,21 @@
44
from fastapi import FastAPI
55
from vonage_voice import Connect, PhoneEndpoint
66

7-
VONAGE_NUMBER = os.environ.get('VONAGE_NUMBER')
8-
YOUR_SECOND_NUMBER = os.environ.get('YOUR_SECOND_NUMBER')
9-
107
dotenv_path = join(dirname(__file__), '../.env')
118
load_dotenv(dotenv_path)
9+
10+
VONAGE_VIRTUAL_NUMBER = os.environ.get('VONAGE_VIRTUAL_NUMBER')
11+
VOICE_VOICE_TO_NUMBER = os.environ.get('VOICE_VOICE_TO_NUMBER')
12+
1213
app = FastAPI()
1314

1415

1516
@app.get('/webhooks/answer')
1617
async def inbound_call():
1718
ncco = [
1819
Connect(
19-
endpoint=[PhoneEndpoint(number='123456789')], from_=VONAGE_NUMBER
20+
endpoint=[PhoneEndpoint(number=VOICE_VOICE_TO_NUMBER)],
21+
from_=VONAGE_VIRTUAL_NUMBER,
2022
).model_dump(by_alias=True, exclude_none=True)
2123
]
2224

voice/connect-callers-to-a-conference.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
dotenv_path = join(dirname(__file__), '../.env')
88
load_dotenv(dotenv_path)
99

10-
VONAGE_NUMBER = os.environ.get('VONAGE_NUMBER')
11-
YOUR_SECOND_NUMBER = os.environ.get('YOUR_SECOND_NUMBER')
12-
CONFERENCE_NAME = os.environ.get("CONFERENCE_NAME")
10+
VOICE_CONFERENCE_NAME = os.environ.get("VOICE_CONFERENCE_NAME")
1311

1412
app = FastAPI()
1513

@@ -18,7 +16,7 @@
1816
async def answer_call():
1917
ncco: list[NccoAction] = [
2018
Talk(text="Please wait while we connect you to the conference"),
21-
Conversation(name=CONFERENCE_NAME),
19+
Conversation(name=VOICE_CONFERENCE_NAME),
2220
]
2321

2422
return [action.model_dump(by_alias=True, exclude_none=True) for action in ncco]

voice/earmuff-a-call.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88

99
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
1010
VONAGE_PRIVATE_KEY = os.environ.get('VONAGE_PRIVATE_KEY')
11+
VOICE_CALL_ID = os.environ.get('VOICE_CALL_ID')
1112

12-
CALL_UUID = os.environ.get('CALL_UUID')
1313

1414
from vonage import Auth, Vonage
1515

@@ -20,6 +20,6 @@
2020
)
2121
)
2222

23-
client.voice.earmuff(CALL_UUID)
24-
sleep(5)
25-
client.voice.unearmuff(CALL_UUID)
23+
client.voice.earmuff(VOICE_CALL_ID)
24+
sleep(3)
25+
client.voice.unearmuff(VOICE_CALL_ID)

voice/get-recording.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77

88
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
99
VONAGE_PRIVATE_KEY = os.environ.get('VONAGE_PRIVATE_KEY')
10-
11-
RECORDING_URL = os.environ.get('RECORDING_URL')
10+
VOICE_RECORDING_URL = os.environ.get('VOICE_RECORDING_URL')
1211

1312
from vonage import Auth, Vonage
1413

@@ -19,4 +18,4 @@
1918
)
2019
)
2120

22-
client.voice.download_recording(RECORDING_URL, 'recording.mp3')
21+
client.voice.download_recording(VOICE_RECORDING_URL, 'recording.mp3')

voice/handle-user-input-with-asr.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
dotenv_path = join(dirname(__file__), '../.env')
88
load_dotenv(dotenv_path)
99

10-
VONAGE_NUMBER = os.environ.get('VONAGE_NUMBER')
10+
VONAGE_VIRTUAL_NUMBER = os.environ.get('VONAGE_VIRTUAL_NUMBER')
1111
RECIPIENT_NUMBER = os.environ.get('RECIPIENT_NUMBER')
1212

1313
app = FastAPI()

voice/handle-user-input.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
dotenv_path = join(dirname(__file__), '../.env')
88
load_dotenv(dotenv_path)
99

10-
VONAGE_NUMBER = os.environ.get('VONAGE_NUMBER')
10+
VONAGE_VIRTUAL_NUMBER = os.environ.get('VONAGE_VIRTUAL_NUMBER')
1111
RECIPIENT_NUMBER = os.environ.get('RECIPIENT_NUMBER')
1212

1313
app = FastAPI()

voice/make-an-outbound-call.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
VONAGE_APPLICATION_ID = os.environ.get("VONAGE_APPLICATION_ID")
1111
VONAGE_PRIVATE_KEY = os.environ.get("VONAGE_PRIVATE_KEY")
1212
FROM_NUMBER = os.environ.get("FROM_NUMBER")
13-
TO_NUMBER = os.environ.get("TO_NUMBER")
13+
VOICE_TO_NUMBER = os.environ.get("VOICE_TO_NUMBER")
1414

1515
from vonage import Auth, Vonage
1616
from vonage_voice import CreateCallRequest, Phone, ToPhone
@@ -27,7 +27,7 @@
2727
answer_url=[
2828
'https://raw.githubusercontent.com/nexmo-community/ncco-examples/gh-pages/text-to-speech.json'
2929
],
30-
to=[ToPhone(number=TO_NUMBER)],
30+
to=[ToPhone(number=VOICE_TO_NUMBER)],
3131
from_=Phone(number=FROM_NUMBER),
3232
)
3333
)

voice/make-outbound-call-ncco.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99

1010
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
1111
VONAGE_PRIVATE_KEY = os.environ.get('VONAGE_PRIVATE_KEY')
12-
13-
VONAGE_NUMBER = os.environ.get('VONAGE_NUMBER')
14-
TO_NUMBER = os.environ.get('TO_NUMBER')
12+
VOICE_TO_NUMBER = os.environ.get('VOICE_TO_NUMBER')
13+
VONAGE_VIRTUAL_NUMBER = os.environ.get('VONAGE_VIRTUAL_NUMBER')
1514

1615
from vonage import Auth, Vonage
1716
from vonage_voice import CreateCallRequest, Phone, Talk, ToPhone
1817

18+
1919
client = Vonage(
2020
Auth(
2121
application_id=VONAGE_APPLICATION_ID,
@@ -25,9 +25,9 @@
2525

2626
response = client.voice.create_call(
2727
CreateCallRequest(
28-
ncco=[Talk(text='Hello world')],
29-
to=[ToPhone(number=TO_NUMBER)],
30-
from_=Phone(number=VONAGE_NUMBER),
28+
ncco=[Talk(text='Hello world, this is a test call.', loop=10)],
29+
to=[ToPhone(number=VOICE_TO_NUMBER)],
30+
from_=Phone(number=VONAGE_VIRTUAL_NUMBER),
3131
)
3232
)
3333

voice/mute-a-call.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
1010
VONAGE_PRIVATE_KEY = os.environ.get('VONAGE_PRIVATE_KEY')
1111

12-
CALL_UUID = os.environ.get('CALL_UUID')
12+
VOICE_CALL_ID = os.environ.get('VOICE_CALL_ID')
1313

1414
from vonage import Auth, Vonage
1515

@@ -20,6 +20,6 @@
2020
)
2121
)
2222

23-
client.voice.mute(CALL_UUID)
23+
client.voice.mute(VOICE_CALL_ID)
2424
sleep(5)
25-
client.voice.unmute(CALL_UUID)
25+
client.voice.unmute(VOICE_CALL_ID)

voice/play-audio-stream-into-call.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
1010
VONAGE_PRIVATE_KEY = os.environ.get('VONAGE_PRIVATE_KEY')
1111

12-
CALL_UUID = os.environ.get('CALL_UUID')
12+
VOICE_CALL_ID = os.environ.get('VOICE_CALL_ID')
1313

1414
from vonage import Auth, Vonage
1515
from vonage_voice import AudioStreamOptions, CallMessage
@@ -23,7 +23,7 @@
2323
)
2424

2525
response: CallMessage = client.voice.play_audio_into_call(
26-
CALL_UUID,
26+
VOICE_CALL_ID,
2727
audio_stream_options=AudioStreamOptions(
2828
stream_url=['https://example.com/ringtone.mp3']
2929
),

voice/play-dtmf-into-call.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
1010
VONAGE_PRIVATE_KEY = os.environ.get('VONAGE_PRIVATE_KEY')
1111

12-
CALL_UUID = os.environ.get('CALL_UUID')
12+
VOICE_CALL_ID = os.environ.get('VOICE_CALL_ID')
1313

1414
from vonage import Auth, Vonage
1515
from vonage_voice import CallMessage
@@ -22,6 +22,8 @@
2222
)
2323
)
2424

25-
response: CallMessage = client.voice.play_dtmf_into_call(uuid=CALL_UUID, dtmf='1234p*#')
25+
response: CallMessage = client.voice.play_dtmf_into_call(
26+
uuid=VOICE_CALL_ID, dtmf='1234p*#'
27+
)
2628

2729
pprint(response)

voice/play-tts-into-call.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
1010
VONAGE_PRIVATE_KEY = os.environ.get('VONAGE_PRIVATE_KEY')
1111

12-
CALL_UUID = os.environ.get('CALL_UUID')
12+
VOICE_CALL_ID = os.environ.get('VOICE_CALL_ID')
1313
LANGUAGE = os.environ.get('LANGUAGE')
1414

1515
from vonage import Auth, Vonage
@@ -24,7 +24,7 @@
2424
)
2525

2626
response: CallMessage = client.voice.play_tts_into_call(
27-
uuid=CALL_UUID,
27+
uuid=VOICE_CALL_ID,
2828
tts_options=TtsStreamOptions(text='Hello from Vonage.', language=LANGUAGE),
2929
)
3030

voice/record-a-call-with-split-audio.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
dotenv_path = join(dirname(__file__), '../.env')
99
load_dotenv(dotenv_path)
1010

11-
VONAGE_NUMBER = os.environ.get('VONAGE_NUMBER')
11+
VONAGE_VIRTUAL_NUMBER = os.environ.get('VONAGE_VIRTUAL_NUMBER')
1212
RECIPIENT_NUMBER = os.environ.get('RECIPIENT_NUMBER')
1313

1414
app = FastAPI()
@@ -27,7 +27,7 @@ async def inbound_call():
2727
),
2828
Connect(
2929
endpoint=[PhoneEndpoint(number=RECIPIENT_NUMBER)],
30-
from_=VONAGE_NUMBER,
30+
from_=VONAGE_VIRTUAL_NUMBER,
3131
eventUrl=['https://demo.ngrok.io/webhooks/event'],
3232
),
3333
]

voice/record-a-call.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
dotenv_path = join(dirname(__file__), '../.env')
99
load_dotenv(dotenv_path)
1010

11-
VONAGE_NUMBER = os.environ.get('VONAGE_NUMBER')
11+
VONAGE_VIRTUAL_NUMBER = os.environ.get('VONAGE_VIRTUAL_NUMBER')
1212
RECIPIENT_NUMBER = os.environ.get('RECIPIENT_NUMBER')
1313

1414
app = FastAPI()
@@ -23,7 +23,7 @@ async def inbound_call():
2323
Record(eventUrl=['https://demo.ngrok.io/webhooks/recordings']),
2424
Connect(
2525
endpoint=[PhoneEndpoint(number=RECIPIENT_NUMBER)],
26-
from_=VONAGE_NUMBER,
26+
from_=VONAGE_VIRTUAL_NUMBER,
2727
eventUrl=['https://demo.ngrok.io/webhooks/event'],
2828
),
2929
]

voice/retrieve-info-for-a-call.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
1010
VONAGE_PRIVATE_KEY = os.environ.get('VONAGE_PRIVATE_KEY')
1111

12-
CALL_UUID = os.environ.get('CALL_UUID')
12+
VOICE_CALL_ID = os.environ.get('VOICE_CALL_ID')
1313

1414
from vonage import Auth, Vonage
1515
from vonage_voice import CallInfo
@@ -21,5 +21,5 @@
2121
)
2222
)
2323

24-
response: CallInfo = client.voice.get_call(CALL_UUID)
24+
response: CallInfo = client.voice.get_call(VOICE_CALL_ID)
2525
pprint(response)

voice/track-ncco.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
dotenv_path = join(dirname(__file__), '../.env')
88
load_dotenv(dotenv_path)
99

10-
VONAGE_NUMBER = os.environ.get('VONAGE_NUMBER')
10+
VONAGE_VIRTUAL_NUMBER = os.environ.get('VONAGE_VIRTUAL_NUMBER')
1111
RECIPIENT_NUMBER = os.environ.get('RECIPIENT_NUMBER')
1212

1313
app = FastAPI()

0 commit comments

Comments
 (0)