OpenSIPS / Kamailio

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

  1. Confirm your server can resolve sip.voyced.eu.

  2. Allow the required UDP SIP traffic on port 5060.

  3. Confirm your configured SIP contact address is reachable from the internet.

  4. Check the RTP media route between Voyced and your connected PBX or telephone devices.

  5. 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:

  1. Accept calls only from authorised local users, devices or systems.

  2. Identify calls that should use Voyced.

  3. Preserve the destination telephone number.

  4. Route the call to sip.voyced.eu over UDP.

  5. Apply the correct SIP authentication when requested.

  6. 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:

  1. Accept traffic from the authorised provider connection.

  2. Identify the incoming Voyced DID.

  3. Match the DID to the appropriate internal destination.

  4. Forward the call to the connected PBX or SIP endpoint.

  5. 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:

  1. PCMA (G.711 A-law).

  2. 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

  1. Use a connected telephone or PBX extension.

  2. Dial a permitted external number.

  3. Confirm your SIP server selects the Voyced route.

  4. Check that any SIP authentication challenge completes successfully.

  5. Confirm the call connects.

  6. Test audio in both directions.

  7. Verify the outbound Caller ID.

Test 3: Incoming calls

  1. Call your Voyced DID from another telephone.

  2. Check that the incoming INVITE reaches your SIP server.

  3. Confirm the call matches your inbound route.

  4. Check that it reaches the correct internal destination.

  5. 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_auth module is loaded.

  • The uac_registrant module 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 uac module is loaded.

  • reg_db_url points 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.eu as your primary SIP registrar.

  • Use UDP port 5060 for the standard connection.

  • Use uac_registrant for external registration on OpenSIPS.

  • Use the uac registration 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 00 on 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.

  • Kamailio, OpenSIPS, setup manual, setup instructions, setup details, setup, IP PBX, IPPBX
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

3CX

SIP Trunk Setup for Voyced – 3CX Connect your 3CX telephone system to Voyced to make and receive...

Asterisk

Voyced SIP Trunk Setup for Asterisk Supports inbound and outbound calling using Voyced as an...

FreePBX

SIP Trunk Setup for Voyced – FreePBX Connect your FreePBX telephone system to Voyced for...

Elastix

SIP Trunk Setup for Voyced – Elastix Manually configure a SIP trunk to connect your Elastix...

Issabel

SIP Trunk Setup for Voyced – Issabel This manual explains how to connect your Issabel PBX system...