ViaTalk
From Pbxnsip Wiki
ViaTalk is an Internet Telephone Service Provider (ITSP) that allows you to bring your own device. This web page should guide you in order to minimize problems with the setup.
ViaTalk uses an OpenSER to provide their service. It seems that they are not using a session border controller. That means customer must either have a public IP address or they must refresh the binding on their own. It seems that they support nonce count for authentication, so that at least the PBX has to send only one REGISTER message in order to refresh the registration. The ITSP provides only UDP transport layer for SIP.
Obviously ViaTalk uses global phone numbers that use the "+" notation. This makes it easy and safe to include global telephone numbers.
On the DNS side, the service runs on the DNS address "optimusprime.vtnoc.net". There is a DNS SRV entry for UDP, but it just points to the DNS A record.
Because the registration uses only one specific DID number, the caller-ID representation is easy. The ITSP just presents that caller-ID. It seems that ViaTalk uses the "Remote-Party-ID" header for caller-ID representation.
Contents |
Setup
A typical setup can be seen on the following image:
In order to get a ViaTalk trunk working, you need to fill in the following fields:
- The "Display Name" and "Account" are the numbers provided by ViaTalk. This is usually the DID number which has been assigned for you.
- As "Domain" and "Outbound Proxy" use the specified name by the provider ("optimusprime.vtnoc.net"). Please always fill in the outbound proxy field, this makes it possible for the PBX to match inbound calls to the trunk.
- The "Username" is the same as the "Account".
- The "Password" is the password as specified by ViaTalk.
- For the "Remote Party/Privacy Indication", use Remote-Party-ID.
- If you are behind NAT, set the "Keepalive Time" to something like 30 seconds. This value must be shorter than the timeout of your NAT router. If you are using a public IP address you can leave this setting empty and minimize the overhead for keeping the connection alive.
- Set the flag "Accept Redirect" so that it becomes possible to loop calls through the service provider. Because they don't use a SBC, the Call-ID of the call remains unchanged, so that the loopback detection of the PBX rejects an incoming call.
- Don't forget to assign a destination which is being called when the call hits the trunk. Fill in an existing extension, hunt group, auto attendant or hunt group into the "Extension" field.
If you are using more than one trunk with ViaTalk, you should turn the Loopback Detection off (see Overall System Settings). Otherwise, when you are calling a number that is registered on the PBX, the ViaTalk proxy will send the request back to the PBX and the PBX will reject the call with "Loop Detected."
Dial Plan
After setting up the trunk, make sure that at least one dialplan uses the trunk. In order to do that, click on the dial plan tab, and select a dial plan. If you don't have a dial plan yet, create one. Then edit the dial plan and make sure that you have selected the ViaTalk trunk in the dial plan:
After setting up the dial plan, don't forget to select the default dial plan of the domain. This is done in the domain settings:
Check if everything is ok
In the "Show List" of the trunks section, you should see a message that the registration is ok (see the below picture). You should see a message with the code 200 and the explanation message like "Ok". The PBX indicates when it would next time refresh the registration.
If you place an outbound call, the call should go through properly. You should see the DID number that has been assigned by ViaTalk.
If you call the DID number, the specified number should ring. You should see the Caller-ID of the station from where you are calling.
Solving Problems
There is a generic FAQ available on how to troubleshoot trunks: Troubleshooting SIP Trunk Problems will give you some points that you can check in order to get the trunk working properly.




