SIP Trunk Setup for Voyced – OpenSIPS / Kamailio
Connect your OpenSIPS or Kamailio SIP server to Voyced to route incoming and outgoing telephone calls.
OpenSIPS and Kamailio are SIP routing platforms. They can manage registrations, route calls and connect different telephone systems.
Unlike a traditional PBX, they do not automatically provide extensions, voicemail or a complete telephone system. These functions normally come from your connected PBX or SIP devices.
This guide covers OpenSIPS 3.6/4.0 and Kamailio 6.1, including registration, call routing and audio connectivity.
What You'll Need
Before starting, make sure you have:
-
Administrator access to your OpenSIPS or Kamailio server.
-
A working SIP routing configuration.
-
A connected PBX or SIP endpoints to handle calls.
-
A public SIP address or suitable NAT configuration.
-
An active Voyced telephone number.
-
Your Voyced SIP username and Service Password.
-
Access to your SIP server's configuration and registration database.
Voyced SIP details
| Setting | Value |
|---|---|
| Provider | Voyced |
| SIP Username | Your-Voyced-DID |
| Authentication Username | Your-Voyced-DID |
| SIP Password | YourServicePassword |
| Registrar | sip.voyced.eu |
| Standard SIP Port | 5060 |
| Transport | UDP |
| Audio Codecs | PCMA, PCMU |
| DTMF | RTP telephone events |
| Voicemail | 1233 |
Replace the example credentials with your own Voyced details.
You can find your DID under Cloud PBX / IP Centrex > Phone Lines in your Voyced Hosted IPPBX. Select the wrench icon beside your number.
Your Service Password is available under My Profile > Settings.
The Service Password is different from your Voyced website login password.
Requirements Before You Begin
Check your software version
The current supported versions include:
| Software | Version |
|---|---|
| OpenSIPS | 4.0 stable |
| OpenSIPS | 3.6 LTS |
| Kamailio | 6.1 |
Both platforms support registration with an external SIP provider, but they use different modules and configuration methods.
Check the required modules
For OpenSIPS, you need:
-
uac_auth, for SIP authentication. -
uac_registrant, for registration with Voyced. -
A compatible database module, such as
db_mysql. -
Your existing transaction and SIP routing modules.
For Kamailio, you need:
-
uac, with remote registration enabled. -
A compatible database module, such as
db_mysql. -
Your existing transaction and SIP routing modules.
The normal SIP registrar module used to accept registrations from your own extensions is not the same as a module that registers your server with Voyced.
Check your network
-
Confirm your server can resolve
sip.voyced.eu. -
Allow the required UDP SIP traffic on port
5060. -
Confirm your configured SIP contact address is reachable from the internet.
-
Check the RTP media route between Voyced and your connected PBX or telephone devices.
-
Confirm your system can route calls to the intended internal destinations.
If your SIP server is behind NAT, its advertised public SIP address must match your external network configuration.
Check your calling requirements
Voyced supports retail and conversational voice traffic.
Voyced does not permit short-burst calling, predictive dialling, power dialling, automatic bulk dialling or autodialler traffic.
OpenSIPS and Kamailio can support many kinds of telephone traffic, but their technical capabilities do not change the traffic permitted on your Voyced service.
SIP Trunk Setup
Step 1: Configure SIP registration for OpenSIPS
OpenSIPS uses the uac_registrant module for registration with external SIP providers.
On an existing OpenSIPS installation, open your main configuration file.
The usual location is:
/etc/opensips/opensips.cfg
Make sure the following modules are loaded:
loadmodule "db_mysql.so"
loadmodule "uac_auth.so"
loadmodule "uac_registrant.so"
If your system uses PostgreSQL or another database, use its corresponding database module instead of db_mysql.
Do not add duplicate module declarations if your existing configuration already loads them.
Configure the registration database connection:
modparam("uac_registrant", "db_url",
"mysql://DB_USER:DB_PASSWORD@localhost/opensips")
Replace the database credentials and database name with those used by your installation.
Keep the database connection information protected.
Step 2: Add your Voyced registration in OpenSIPS
OpenSIPS stores external registration information in the registrant database table.
Make sure your database contains the table supplied with your installed OpenSIPS version.
Create a registration record with these values:
| Database field | Value |
|---|---|
registrar |
sip:sip.voyced.eu:5060;transport=udp |
aor |
sip:Your-Voyced-DID@sip.voyced.eu |
username |
Your Voyced DID |
password |
Your Voyced Service Password |
binding_URI |
Your publicly reachable SIP contact address |
proxy |
Empty |
expiry |
300 |
state |
0 |
The aor identifies the Voyced account being registered.
The binding_URI is the SIP contact address that Voyced will use to reach your system.
For example, if your SIP server has the public hostname pbx.example.com, your contact might be:
sip:Your-Voyced-DID@pbx.example.com:5060
Replace pbx.example.com with your actual publicly reachable SIP hostname.
Do not enter a private network address unless your connection has a suitable public routing arrangement.
The state value of 0 enables the registration.
The password is stored in the registration database, so restrict access to the database and its backups.
Step 3: Check OpenSIPS registration
Before restarting or reloading OpenSIPS, validate the configuration with the command appropriate to your installation.
For a standard installation:
opensips -C
Apply the configuration using your normal deployment method.
After adding the registration record, reload the registration data.
For OpenSIPS 3.6:
opensips-cli -x mi reg_reload
Check registration:
opensips-cli -x mi reg_list
For OpenSIPS 4.0, use:
opensips-cli -x mi uac_registrant:reload
Check registration:
opensips-cli -x mi uac_registrant:list
Look for the Voyced registration.
The status should indicate that registration has succeeded.
In OpenSIPS 3.6, registration state 3 means Registered.
If registration fails, review the registrar, authentication details and contact address.
Step 4: Configure SIP registration for Kamailio
Kamailio uses its uac module to register with an external SIP provider.
Open your Kamailio configuration file.
The usual location is:
/etc/kamailio/kamailio.cfg
Make sure the required modules are loaded:
loadmodule "db_mysql.so"
loadmodule "uac.so"
If your existing configuration already loads these modules, retain the existing declarations.
Configure the registration database:
modparam("uac", "reg_db_url",
"mysql://DB_USER:DB_PASSWORD@localhost/kamailio")
Replace the example database credentials.
Enable registration retries:
modparam("uac", "reg_retry_interval", 300)
This allows Kamailio to retry failed registrations.
Step 5: Add your Voyced account in Kamailio
Kamailio stores remote SIP registration records in the uacreg database table.
Make sure this table exists in your Kamailio database.
Create a record using the following values:
| Database field | Value |
|---|---|
l_uuid |
voyced01 |
l_username |
Your local account identifier |
l_domain |
Your local SIP domain |
r_username |
Your Voyced DID |
r_domain |
sip.voyced.eu |
auth_username |
Your Voyced DID |
auth_password |
Your Voyced Service Password |
auth_proxy |
sip:sip.voyced.eu:5060;transport=udp |
expires |
300 |
flags |
0 |
reg_delay |
0 |
contact_addr |
Your publicly reachable SIP hostname and port |
realm |
The authentication realm returned by Voyced |
For l_username, you can use your Voyced DID if you want the same local identifier.
For l_domain, use the SIP domain managed by your local Kamailio installation.
The contact_addr must identify an address where incoming SIP calls can reach your Kamailio server.
For example:
pbx.example.com:5060
The authentication realm must match the realm value in the SIP authentication challenge received from Voyced.
Do not assume that this value is always identical to the registrar hostname.
Leave auth_ha1 empty if you supply the normal Service Password in auth_password.
Protect the registration database because it contains SIP authentication credentials.
Step 6: Check Kamailio registration
Validate your Kamailio configuration before applying changes:
kamailio -c
Apply the changes using your normal deployment method.
To reload the registration records:
kamctl rpc uac.reg_reload
Check the active registrations:
kamctl rpc uac.reg_dump
To inspect your specific Voyced registration:
kamctl rpc uac.reg_info l_uuid voyced01
A successful registration is indicated by the appropriate registration status.
Kamailio's registration information uses a status flag value of 4 to indicate successful registration.
If registration fails, check the credentials, authentication realm, contact address and SIP server connectivity.
Step 7: Configure outbound call routing
Once your SIP account registers successfully, configure your existing routing logic to send permitted external calls through Voyced.
Use:
sip.voyced.eu
as the outbound SIP destination.
The outgoing Request-URI should contain the telephone number in the required Voyced format.
For example:
sip:00442035000202@sip.voyced.eu
Your routing logic must:
-
Accept calls only from authorised local users, devices or systems.
-
Identify calls that should use Voyced.
-
Preserve the destination telephone number.
-
Route the call to
sip.voyced.euover UDP. -
Apply the correct SIP authentication when requested.
-
Relay the SIP responses to the originating system.
Do not route every received SIP INVITE to Voyced without checking its origin and permissions.
That would risk turning your SIP server into an unauthorised relay.
Outbound SIP authentication
Registration with Voyced and authentication of outgoing calls are separate operations.
An outbound SIP INVITE may receive a SIP authentication challenge.
Your routing configuration must handle that challenge using the correct Voyced account credentials.
OpenSIPS supports this through its UAC authentication functions.
Kamailio supports it through the uac module and its authentication functions.
Where you use Kamailio's registered accounts, the uac_reg_request_to() function can help select the correct registration account and its outbound credentials.
Your failure routing must then handle a valid 401 or 407 authentication challenge and retry the authorised request.
Do not assume that successful registration alone guarantees an outgoing call will work.
Step 8: Configure international dialling
Voyced requires all international calls to use:
00 + Country Code + Telephone Number
For example:
00442035000202
A number beginning with + must be converted before being sent to Voyced.
For example:
| Original number | Number sent to Voyced |
|---|---|
+442035000202 |
00442035000202 |
00442035000202 |
00442035000202 |
Your SIP routing logic must preserve the leading 00.
Do not remove the international prefix or add another prefix unless required by your own internal dial plan.
Step 9: Configure inbound call routing
When Voyced delivers an incoming call, your SIP server must identify the call and forward it to the correct destination.
For example:
Voyced → OpenSIPS/Kamailio → PBX → Extension 201
Configure the inbound route to:
-
Accept traffic from the authorised provider connection.
-
Identify the incoming Voyced DID.
-
Match the DID to the appropriate internal destination.
-
Forward the call to the connected PBX or SIP endpoint.
-
Preserve the required SIP headers and signalling information.
For example:
| Incoming Voyced DID | Destination |
|---|---|
| Main business number | Reception |
| Sales number | Sales extension or group |
| Support number | Support extension or queue |
Use the DID value actually received in the incoming INVITE.
Verify incoming SIP sources
The SIP source address is an IP address.
Do not compare the source IP directly with the text sip.voyced.eu.
For incoming-call authentication and routing, use the verified provider source addresses and appropriate SIP validation.
If the provider's addresses change, your configuration must account for those changes.
For Kamailio, its UAC registration lookup functions can help associate an incoming request with an existing remote registration.
For OpenSIPS, use your existing trusted-peer and inbound-routing logic.
Do not accept unsolicited calls from arbitrary internet addresses as trusted Voyced traffic.
Step 10: Configure RTP and NAT handling
OpenSIPS and Kamailio route SIP signalling.
Audio normally flows separately using RTP.
Depending on your network and SIP topology, you may need a media relay.
Common choices include:
-
RTPengine.
-
RTPProxy.
Use the media relay supported by your installation.
For example, a typical routed call may use:
Voyced ↔ RTPengine ↔ Your PBX
A media relay is particularly useful when endpoints are behind NAT or when SIP messages contain private IP addresses in their media descriptions.
Configure your SIP routing logic to offer and answer media through the selected relay when necessary.
Check both directions of RTP traffic.
The media server must use addresses and ports reachable by the connected call parties.
Step 11: Configure audio codecs
Voyced supports standard G.711 audio.
For normal telephone calls, use:
-
PCMA (G.711 A-law).
-
PCMU (G.711 μ-law).
OpenSIPS and Kamailio do not normally encode or decode telephone audio themselves.
The connected PBX, telephone endpoints or media processing system determines which codecs are offered and accepted.
Check that your endpoints can use PCMA or PCMU.
If you use RTPengine or another media component for transcoding, make sure the required codec support is available.
Step 12: Configure voicemail and Caller ID
Voyced voicemail is available by dialling:
1233
To use Voyced voicemail from your connected PBX or SIP devices, configure the dial plan to route 1233 through Voyced.
Do not add an international prefix to this short code.
Your connected PBX may also provide its own voicemail service.
For outgoing Caller ID, use the telephone number authorised on your Voyced account.
If you want to display another number, open a sales support ticket with Voyced using the subject:
Outbound Caller ID adjustment
Include the DID you are calling from and the number you want displayed.
Numbers outside your Voyced account require proof of ownership and additional verification.
Voyced Internal DIDs and extension numbers must not be used as public Caller ID numbers.
Test Your Connection
Test 1: SIP registration
For OpenSIPS 3.6:
opensips-cli -x mi reg_list
For OpenSIPS 4.0:
opensips-cli -x mi uac_registrant:list
For Kamailio:
kamctl rpc uac.reg_dump
Confirm your Voyced account is registered.
Test 2: Outgoing calls
-
Use a connected telephone or PBX extension.
-
Dial a permitted external number.
-
Confirm your SIP server selects the Voyced route.
-
Check that any SIP authentication challenge completes successfully.
-
Confirm the call connects.
-
Test audio in both directions.
-
Verify the outbound Caller ID.
Test 3: Incoming calls
-
Call your Voyced DID from another telephone.
-
Check that the incoming INVITE reaches your SIP server.
-
Confirm the call matches your inbound route.
-
Check that it reaches the correct internal destination.
-
Answer and test audio in both directions.
Test 4: International calls
Dial an international telephone number using 00.
For example:
00442035000202
Check that the outgoing SIP Request-URI contains the complete number.
The leading 00 must remain unchanged.
Test 5: Voicemail
Dial:
1233
Confirm that the call reaches your Voyced voicemail service.
Test 6: Simultaneous calls
If your Voyced service supports several simultaneous calls, test the expected call capacity.
Your routing server may handle more calls than your Voyced service permits.
Use suitable call limits in your connected telephone system.
Troubleshooting
SIP registration fails
Check:
| Setting | Required value |
|---|---|
| Registrar | sip.voyced.eu |
| Port | 5060 |
| Transport | UDP |
| Username | Your Voyced DID |
| Password | Your Service Password |
| Registration module | Enabled |
| Contact address | Publicly reachable |
Confirm that your registration records are loaded and enabled.
OpenSIPS registration does not start
Check that:
-
The
uac_authmodule is loaded. -
The
uac_registrantmodule is loaded. -
The database connection works.
-
Your registration record is enabled.
-
The Contact URI contains a valid address.
-
You are using the correct registration command for your OpenSIPS version.
Kamailio registration does not start
Check that:
-
The
uacmodule is loaded. -
reg_db_urlpoints to the correct database. -
Your Voyced account exists in
uacreg. -
The authentication details are correct.
-
The authentication realm matches the challenge.
-
Remote registration is enabled.
Use:
kamctl rpc uac.reg_info l_uuid voyced01
to inspect your example registration.
Registration succeeds but outgoing calls fail
Successful SIP registration does not guarantee outgoing INVITEs are authenticated.
Check:
-
Your outbound routing rule.
-
The SIP Request-URI.
-
The selected Voyced account.
-
The authentication challenge and response.
-
Your Voyced call credit.
-
The permitted destination.
If you receive repeated 401 or 407 responses, investigate outbound SIP authentication.
Incoming calls do not work
Check:
-
The registered Contact URI.
-
The actual public IP and SIP listening port.
-
The source address of the incoming INVITE.
-
Your provider access rules.
-
The incoming DID format.
-
The internal destination.
If the call reaches OpenSIPS or Kamailio but does not reach the PBX, inspect the routing decisions and forwarded Request-URI.
International calls fail
Check that the number reaches Voyced in this format:
00 + Country Code + Telephone Number
Do not send a leading plus sign unless a supported and tested number conversion is applied before the call reaches Voyced.
No audio or one-way audio
Check:
-
The media IP addresses in the SDP.
-
The configured RTP port ranges.
-
Firewall and NAT settings.
-
The media relay, if one is used.
-
Audio codec compatibility.
Start with PCMA and PCMU.
If your SIP server routes the call correctly but audio fails, investigate the RTP path.
Incorrect Caller ID
Check the identity information sent in the outgoing SIP request.
Only use numbers authorised for your Voyced service.
If another Caller ID is required, contact Voyced Support.
Useful diagnostic tools
For either platform, SIP packet captures can help identify registration, routing and media problems.
Common tools include:
-
sngrep, for viewing SIP call flows. -
tcpdump, for network captures. -
Application logs and SIP trace modules.
On OpenSIPS, use the available tracing and logging features.
On Kamailio, use the available SIP tracing and RPC diagnostics.
When contacting Voyced Support, provide the date, time, calling number, destination and result of the affected call.
Do not share your Service Password.
Final Tips
-
Use
sip.voyced.euas your primary SIP registrar. -
Use UDP port
5060for the standard connection. -
Use
uac_registrantfor external registration on OpenSIPS. -
Use the
uacregistration functionality on Kamailio. -
Keep registration credentials and databases protected.
-
Confirm the registered Contact address is reachable.
-
Handle outgoing SIP authentication as well as registration.
-
Restrict outbound routing to authorised callers.
-
Validate incoming provider traffic before routing it.
-
Preserve the leading
00on international calls. -
Use PCMA and PCMU for broad audio compatibility.
-
Configure RTP handling according to your network.
-
Use only authorised outbound Caller ID numbers.
-
Keep call volumes within your Voyced service capacity and permitted traffic types.
Once registration, inbound routing, outbound authentication and audio have been tested successfully, your OpenSIPS or Kamailio installation can route telephone calls through Voyced.
Last updated: 28/10/2026
© Voyced
All information provided is copyrighted and purely informative in nature. It is maintained by Voyced with the greatest of care using reliable sources only.
Given the fast evolution of the telecom sector, Voyced does not offer any guarantee about the accuracy and completeness of the information offered.
We explicitly do not give anyone permission to use this information in any other way than to inform themselves about what (legal) requirements there may be and they need to comply with when registering Services and/or DIDs with Voyced.
