I integrated Vonage (Nexmo) Android client SDK and I followed the integration document given here: https://developer.vonage.com/en/tutorials/app-to-phone/place-call/java
I followed each step and the calls are connected as expected. But I'm billed for both inbound and outbound duration combined for a single outbound call made from my app to phone
Even if the recipient didn't attend my call, I'm billed for waiting duration which is mentioned as inbound duration.
Here I explain the steps I followed:
- I create a user with Vonage when a new user registers in my app.
- I initialize the SDK and Login the user with JWT token from back-end
- I place a call using client.serverCall method as suggested in above link
- Vonage then calls my answer_url webhook and gets an NCCO request and then starts dialing the recipient
- Calls are connected without any issue.
My NCCO Request
[{
"action": "connect",
"from": "12674600003",
"endpoint": [
{ "type": "phone",
"number": req.query.to // (recipient number)
}
]
}]
From this I can understand that when I initiate the call, it's being connected to Vonage server and Vonage server makes the call. So it charges for both inbound (app -> Vonage Server) and outbound (Vonage Server -> Recipient). So I'm billed double.
My question is, Is this how this service works or all other service providers like Twilio charges? Or Did I implemented in wrong way?