<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.voip.ms/w/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.voip.ms/w/index.php?feed=atom&amp;target=Scomtois&amp;title=Special%3AContributions</id>
		<title>VoIP.ms Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.voip.ms/w/index.php?feed=atom&amp;target=Scomtois&amp;title=Special%3AContributions"/>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/Special:Contributions/Scomtois"/>
		<updated>2026-11-04T11:54:37Z</updated>
		<subtitle>From VoIP.ms Wiki</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<entry>
		<id>https://wiki.voip.ms/article/SipWarp</id>
		<title>SipWarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/SipWarp"/>
				<updated>2026-10-23T18:14:18Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SipWarp-Logo.png|right|80px|thumb|SipWarp Logo]]&lt;br /&gt;
'''SipWarp''' is a free, lightweight SIP softphone for Windows that allows users to make and receive telephone calls directly from their computers using a compatible Voice over IP (VoIP) provider such as '''VoIP.ms'''.&lt;br /&gt;
&lt;br /&gt;
Developed using Rust, C, and Slint, SipWarp offers a modern and resource-efficient desktop interface designed for everyday VoIP communications.&lt;br /&gt;
&lt;br /&gt;
The application can operate in the Windows system tray, allowing users to remain available for incoming calls while working with other applications.&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several features, including:&lt;br /&gt;
&lt;br /&gt;
* SIP-based incoming and outgoing calls.&lt;br /&gt;
* Support for multiple audio codecs, including G.711, G.722, and Opus.&lt;br /&gt;
* CardDAV contact synchronization.&lt;br /&gt;
* CSV and VCF contact importing and exporting.&lt;br /&gt;
* Manual and automatic call recording.&lt;br /&gt;
* Custom WAV ringtones.&lt;br /&gt;
* Configurable microphones, speakers, and headsets.&lt;br /&gt;
* Call history and contact management.&lt;br /&gt;
* Windows system tray operation.&lt;br /&gt;
&lt;br /&gt;
'''Official Website:''' [https://sipwarp.com/ SipWarp]&lt;br /&gt;
'''Supported Operating System:''' Windows&lt;br /&gt;
'''Application Type:''' SIP Softphone&lt;br /&gt;
'''Cost:''' Free&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Before configuring SipWarp with VoIP.ms, ensure that you have the following:&lt;br /&gt;
&lt;br /&gt;
* An active [https://voip.ms/ VoIP.ms account].&lt;br /&gt;
* A SIP subaccount configured in the VoIP.ms Customer Portal.&lt;br /&gt;
* SipWarp installed on a Windows computer.&lt;br /&gt;
* A stable internet connection.&lt;br /&gt;
* A microphone and speakers, or a compatible headset.&lt;br /&gt;
* An active DID (telephone number) if you intend to receive incoming calls from the public telephone network.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' A DID is not required for outgoing calls. However, you must configure a valid and authorized outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - Download and Install SipWarp ==&lt;br /&gt;
&lt;br /&gt;
# Visit the official SipWarp website at [https://sipwarp.com/ sipwarp.com].&lt;br /&gt;
# Click '''Download for Windows'''.&lt;br /&gt;
# Download the latest available version.&lt;br /&gt;
# Install or launch SipWarp according to the instructions provided with the download.&lt;br /&gt;
# Open the application.&lt;br /&gt;
&lt;br /&gt;
Once launched, SipWarp displays its main telephone interface, which includes a dial pad and call controls.&lt;br /&gt;
: [[File:SipWarp-Main-Interface.png|right|350px|SipWarp main interface showing the dial pad and call controls.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2 - Create a VoIP.ms Subaccount ==&lt;br /&gt;
&lt;br /&gt;
It is recommended to use a dedicated VoIP.ms SIP subaccount for SipWarp instead of configuring the primary account.&lt;br /&gt;
&lt;br /&gt;
This allows you to manage the application's credentials, Caller ID, and calling permissions independently from other devices.&lt;br /&gt;
&lt;br /&gt;
# Log in to the [https://voip.ms/m/login.php VoIP.ms Customer Portal].&lt;br /&gt;
# Navigate to '''Sub Accounts → Create Sub Account'''.&lt;br /&gt;
# Enter a descriptive username, such as &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Select '''SIP''' as the protocol.&lt;br /&gt;
# Select '''User/Password Authentication'''.&lt;br /&gt;
# Enter a strong and unique SIP password.&lt;br /&gt;
# Configure the appropriate '''Device Type''' and '''Caller ID Number'''.&lt;br /&gt;
# Review any required calling permissions.&lt;br /&gt;
# Save the subaccount.&lt;br /&gt;
&lt;br /&gt;
Your complete SIP username follows this format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
123456_sipwarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt; represents your VoIP.ms main account username.&lt;br /&gt;
* &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt; represents the name of your subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The full SIP username, including the underscore and subaccount name, must be entered in SipWarp.&lt;br /&gt;
&lt;br /&gt;
The SIP password is the password assigned to your subaccount, not the password used to access the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Sub Accounts|VoIP.ms Subaccounts]].&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Select a VoIP.ms Server ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms operates multiple Points of Presence (POPs) across North America and internationally.&lt;br /&gt;
&lt;br /&gt;
For optimal performance, select a server geographically close to your location or the server already assigned to your DID.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
montreal.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other examples include:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toronto.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;newyork.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;chicago.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the complete list of available servers, refer to [[Servers|VoIP.ms Servers]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The VoIP.ms server used for SIP registration must match the POP assigned to your DID for incoming calls to reach your device correctly.&lt;br /&gt;
&lt;br /&gt;
=== SIP Server Information ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| SIP Server / Registrar&lt;br /&gt;
| Your selected VoIP.ms POP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Port&lt;br /&gt;
| 5060&lt;br /&gt;
|-&lt;br /&gt;
| Transport Protocol&lt;br /&gt;
| UDP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| Authentication Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| SIP Password&lt;br /&gt;
| Your subaccount SIP password&lt;br /&gt;
|-&lt;br /&gt;
| SIP Domain&lt;br /&gt;
| Same as SIP Server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms also supports alternative SIP ports for compatible configurations. The default UDP port 5060 is sufficient for this guide.&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Configure the SIP Account in SipWarp ==&lt;br /&gt;
&lt;br /&gt;
After creating your VoIP.ms subaccount, open SipWarp and configure the SIP registration settings.&lt;br /&gt;
&lt;br /&gt;
# Open '''SipWarp'''.&lt;br /&gt;
# Click '''Account''' at the bottom of the application window.&lt;br /&gt;
# Enter your VoIP.ms SIP credentials.&lt;br /&gt;
# Configure the SIP server and connection settings.&lt;br /&gt;
# Click '''Save account'''.&lt;br /&gt;
# Wait for the registration status to change to '''Online'''.&lt;br /&gt;
&lt;br /&gt;
=== Account Configuration ===&lt;br /&gt;
&lt;br /&gt;
Use the following configuration as an example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! SipWarp Field&lt;br /&gt;
! Configuration&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Server'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| The VoIP.ms POP selected for your account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Domain'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| Use the same hostname as the SIP server.&lt;br /&gt;
|-&lt;br /&gt;
| '''Username'''&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
| Your complete VoIP.ms SIP subaccount username.&lt;br /&gt;
|-&lt;br /&gt;
| '''Password'''&lt;br /&gt;
| Your SIP subaccount password&lt;br /&gt;
| Password configured in the VoIP.ms Customer Portal.&lt;br /&gt;
|-&lt;br /&gt;
| '''Display Name'''&lt;br /&gt;
| Your name or business name&lt;br /&gt;
| Name used to identify the SIP account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Port'''&lt;br /&gt;
| 5060 or 0&lt;br /&gt;
| Port 0 allows SipWarp to use its default SIP port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Transport'''&lt;br /&gt;
| udp&lt;br /&gt;
| Standard SIP transport for this configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Replace the example values with your own VoIP.ms account information.&lt;br /&gt;
&lt;br /&gt;
When registration succeeds, SipWarp displays:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Online&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This indicates that the application has successfully registered with the VoIP.ms SIP server.&lt;br /&gt;
&lt;br /&gt;
If the application remains on '''Registering''', verify the SIP server address, username, password, and internet connectivity.&lt;br /&gt;
&lt;br /&gt;
:[[File:SipWarp-Account-Settings.png|none|450px]] [[File:SipWarp-Account-Settings2.png|none|450px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Configure Audio Devices ==&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to select different audio devices for conversations and incoming call notifications.&lt;br /&gt;
&lt;br /&gt;
To configure your audio devices:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings'''.&lt;br /&gt;
# Select '''Devices'''.&lt;br /&gt;
# Choose the microphone you want to use.&lt;br /&gt;
# Select your preferred speaker or headset.&lt;br /&gt;
# Configure the device used for incoming call notifications.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
=== Audio Device Settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Microphone'''&lt;br /&gt;
| Selects the microphone used during calls.&lt;br /&gt;
|-&lt;br /&gt;
| '''Speaker / Headphones'''&lt;br /&gt;
| Selects the device used to hear the other party.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ring Device'''&lt;br /&gt;
| Selects the device that plays incoming call notifications.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ringtone File'''&lt;br /&gt;
| Allows you to select a custom WAV ringtone.&lt;br /&gt;
|-&lt;br /&gt;
| '''Local DTMF'''&lt;br /&gt;
| Plays a local keypad tone when pressing a digit.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to use separate devices for the ringtone and call audio.&lt;br /&gt;
&lt;br /&gt;
For example, incoming calls can ring through the computer speakers while conversations are handled through a USB headset.&lt;br /&gt;
&lt;br /&gt;
'''Recommendation:''' Using a USB headset can help reduce echo and background noise.&lt;br /&gt;
&lt;br /&gt;
: SipWarp-Audio-Settings.png|none|450px|SipWarp audio device configuration.]]&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Configure Network Settings ==&lt;br /&gt;
&lt;br /&gt;
SipWarp provides configurable RTP and STUN options to assist with SIP communications across networks using Network Address Translation (NAT).&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
'''Settings → Network'''&lt;br /&gt;
&lt;br /&gt;
=== Recommended Network Configuration ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Minimum Port'''&lt;br /&gt;
| 10001&lt;br /&gt;
| Starting UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Maximum Port'''&lt;br /&gt;
| 20000&lt;br /&gt;
| Ending UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Assists with identifying the public network address.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN Server'''&lt;br /&gt;
| stun.voip.ms&lt;br /&gt;
| STUN server recommended for VoIP.ms.&lt;br /&gt;
|-&lt;br /&gt;
| '''rport'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps SIP responses reach the correct network address and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''DNS SRV'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Not normally required when using a specific VoIP.ms POP hostname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Understanding RTP ===&lt;br /&gt;
&lt;br /&gt;
SIP signaling is used to establish and manage telephone calls. The audio itself is carried separately using RTP (Real-time Transport Protocol).&lt;br /&gt;
&lt;br /&gt;
If an outgoing call connects but one or both parties cannot hear audio, the issue may be related to RTP connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Understanding STUN ===&lt;br /&gt;
&lt;br /&gt;
STUN (Session Traversal Utilities for NAT) allows SipWarp to discover the public-facing address used by the network.&lt;br /&gt;
&lt;br /&gt;
This can help resolve audio issues when the computer is located behind a router.&lt;br /&gt;
&lt;br /&gt;
The recommended STUN server is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stun.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' STUN does not resolve every type of NAT or firewall issue.&lt;br /&gt;
&lt;br /&gt;
=== Firewall and Port Forwarding ===&lt;br /&gt;
&lt;br /&gt;
Port forwarding is generally unnecessary when calls are working correctly.&lt;br /&gt;
&lt;br /&gt;
If calls connect but audio is missing, review the local firewall, router configuration, and RTP traffic.&lt;br /&gt;
&lt;br /&gt;
Avoid exposing unnecessary ports to the public internet. Any firewall or port-forwarding changes should be limited to what is required for the installation.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/network.htm SipWarp Network Configuration Guide].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Network-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Network-Settings.png|450px|SipWarp RTP and STUN configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Configure Audio Codecs ==&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several audio codecs that determine how voice is encoded and transmitted during calls.&lt;br /&gt;
&lt;br /&gt;
The application negotiates a compatible codec with the remote SIP endpoint based on the enabled codecs and their configured priority.&lt;br /&gt;
&lt;br /&gt;
For VoIP.ms, G.711u (PCMU) is recommended as the first codec.&lt;br /&gt;
&lt;br /&gt;
=== Recommended Codec Priority ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Priority&lt;br /&gt;
! Codec&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| '''G.711u (PCMU)'''&lt;br /&gt;
| Recommended for regular telephone calls in North America.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| '''G.722'''&lt;br /&gt;
| HD Call - Wideband audio for compatible SIP-to-SIP connections.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Both endpoints must support the negotiated codec.&lt;br /&gt;
&lt;br /&gt;
G.722 may provide improved audio quality on compatible SIP calls. However, it is not generally available for ordinary calls to the public telephone network.&lt;br /&gt;
&lt;br /&gt;
Opus support in SipWarp does not guarantee Opus interoperability with VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Additional Codec Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''VAD'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Prevents speech clipping caused by voice activity detection.&lt;br /&gt;
|-&lt;br /&gt;
| '''Echo Cancellation'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps reduce echo during conversations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Opus Stereo'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Stereo audio is generally unnecessary for telephone calls.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other available codecs may be left disabled unless specifically required.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/codecs.htm SipWarp Codec Documentation].&lt;br /&gt;
: [[File:SipWarp-Codecs.png|none|450px|Recommended audio codec configuration for SipWarp.]]&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Configure Incoming Calls ==&lt;br /&gt;
&lt;br /&gt;
To receive incoming calls through SipWarp, a VoIP.ms DID must be routed to the SIP subaccount configured in the application.&lt;br /&gt;
&lt;br /&gt;
# Log in to the '''VoIP.ms Customer Portal'''.&lt;br /&gt;
# Navigate to '''DID Numbers → Manage DID(s)'''.&lt;br /&gt;
# Locate the DID you want to configure.&lt;br /&gt;
# Click the edit icon.&lt;br /&gt;
# Under '''Routing''', select '''SIP/IAX'''.&lt;br /&gt;
# Choose the SIP subaccount associated with SipWarp.&lt;br /&gt;
# Verify that the DID's POP matches the SIP server configured in SipWarp.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
Once the DID is properly routed and SipWarp is registered, incoming calls should be delivered to the application.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If you intend to receive calls on multiple devices simultaneously, use separate SIP subaccounts and configure a VoIP.ms [[Ring Groups|Ring Group]].&lt;br /&gt;
&lt;br /&gt;
Registering multiple devices with the same SIP credentials is not recommended because it can cause registration conflicts.&lt;br /&gt;
&lt;br /&gt;
== Step 9 - Configure Outgoing Calls ==&lt;br /&gt;
&lt;br /&gt;
To place an outgoing call:&lt;br /&gt;
&lt;br /&gt;
# Open SipWarp.&lt;br /&gt;
# Enter the destination telephone number using the dial pad.&lt;br /&gt;
# Click '''Call'''.&lt;br /&gt;
# Wait for the call to connect.&lt;br /&gt;
&lt;br /&gt;
=== North American Dialing Format ===&lt;br /&gt;
&lt;br /&gt;
For calls to telephone numbers within the North American Numbering Plan, the following dialing format is recommended:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 + Area Code + Telephone Number&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13125551212&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For international calls, consult the [[Dialing Codes|VoIP.ms Dialing Codes]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Caller ID ===&lt;br /&gt;
&lt;br /&gt;
The outbound Caller ID is generally configured through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
When using a dedicated SIP subaccount:&lt;br /&gt;
&lt;br /&gt;
# Navigate to '''Sub Accounts → Manage Sub Accounts'''.&lt;br /&gt;
# Edit the SipWarp subaccount.&lt;br /&gt;
# Locate the '''CallerID Number''' setting.&lt;br /&gt;
# Select or configure an authorized outbound Caller ID.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
SipWarp may also send Caller ID information from the application, but this requires the appropriate configuration on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Only telephone numbers you own or are authorized to use should be configured as outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Test Your Configuration ==&lt;br /&gt;
&lt;br /&gt;
After completing the configuration, perform the following tests to confirm proper operation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Test&lt;br /&gt;
! Expected Result&lt;br /&gt;
|-&lt;br /&gt;
| SIP Registration&lt;br /&gt;
| SipWarp displays '''Online'''.&lt;br /&gt;
|-&lt;br /&gt;
| Outgoing Call&lt;br /&gt;
| Calls connect successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Incoming Call&lt;br /&gt;
| The assigned DID rings SipWarp.&lt;br /&gt;
|-&lt;br /&gt;
| Two-Way Audio&lt;br /&gt;
| Both parties can hear each other.&lt;br /&gt;
|-&lt;br /&gt;
| DTMF&lt;br /&gt;
| Keypad tones are properly recognized.&lt;br /&gt;
|-&lt;br /&gt;
| Caller ID&lt;br /&gt;
| The authorized outbound number is displayed.&lt;br /&gt;
|-&lt;br /&gt;
| Audio Devices&lt;br /&gt;
| The microphone and headset operate correctly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VoIP.ms Test Numbers ===&lt;br /&gt;
&lt;br /&gt;
VoIP.ms provides test numbers that can help verify your configuration.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''4443'''&lt;br /&gt;
| Echo test. Allows you to verify audio transmission and reception.&lt;br /&gt;
|-&lt;br /&gt;
| '''822'''&lt;br /&gt;
| Caller ID test.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The echo test is useful for identifying missing audio, one-way audio, or microphone-related issues.&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
=== Contact Management ===&lt;br /&gt;
&lt;br /&gt;
SipWarp includes contact management functionality.&lt;br /&gt;
&lt;br /&gt;
Contacts can be stored locally and imported or exported using common file formats.&lt;br /&gt;
&lt;br /&gt;
Supported formats include:&lt;br /&gt;
&lt;br /&gt;
* CSV (Comma-Separated Values)&lt;br /&gt;
* VCF (vCard)&lt;br /&gt;
&lt;br /&gt;
These features allow users to migrate contacts between compatible applications.&lt;br /&gt;
&lt;br /&gt;
=== CardDAV Synchronization ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports CardDAV, a protocol used to synchronize contact information between devices and applications.&lt;br /&gt;
&lt;br /&gt;
To configure CardDAV:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → CardDAV'''.&lt;br /&gt;
# Enter the CardDAV server URL.&lt;br /&gt;
# Enter the username and password associated with the CardDAV service.&lt;br /&gt;
# Click '''Test''' to verify connectivity.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Example CardDAV server URL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://contacts.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' CardDAV credentials are separate from your VoIP.ms SIP credentials.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/carddav.htm SipWarp CardDAV Documentation].&lt;br /&gt;
&lt;br /&gt;
=== Call Recording ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports manual and automatic call recording.&lt;br /&gt;
&lt;br /&gt;
To record an individual call, use the '''REC''' button during an active conversation.&lt;br /&gt;
&lt;br /&gt;
To enable automatic call recording:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Record all calls automatically'''.&lt;br /&gt;
# Enable the option.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Users are responsible for complying with applicable call recording, privacy, and consent requirements in their jurisdiction.&lt;br /&gt;
&lt;br /&gt;
=== Custom Ringtones ===&lt;br /&gt;
&lt;br /&gt;
SipWarp allows users to configure a custom WAV ringtone.&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Ringtone File'''.&lt;br /&gt;
# Select the desired WAV file.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
If no custom ringtone is configured, SipWarp uses its built-in ringtone.&lt;br /&gt;
&lt;br /&gt;
=== Background Operation ===&lt;br /&gt;
&lt;br /&gt;
SipWarp can continue running in the Windows system tray after its main window is closed.&lt;br /&gt;
&lt;br /&gt;
This allows the application to remain available for incoming calls.&lt;br /&gt;
&lt;br /&gt;
To reopen SipWarp, double-click its system tray icon.&lt;br /&gt;
&lt;br /&gt;
To completely close the application, right-click the system tray icon and select '''Exit'''.&lt;br /&gt;
&lt;br /&gt;
=== Launch at Windows Startup ===&lt;br /&gt;
&lt;br /&gt;
To start SipWarp automatically when signing in to Windows:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → App'''.&lt;br /&gt;
# Enable '''Run at startup'''.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The following table lists common issues and recommended troubleshooting steps.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Issue&lt;br /&gt;
! Possible Cause&lt;br /&gt;
! Recommended Solution&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration remains on Registering'''&lt;br /&gt;
| Incorrect SIP credentials or server.&lt;br /&gt;
| Verify the SIP username, password, server hostname, and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Cannot receive incoming calls'''&lt;br /&gt;
| Incorrect DID routing or POP mismatch.&lt;br /&gt;
| Verify that the DID routes to the correct subaccount and uses the same POP.&lt;br /&gt;
|-&lt;br /&gt;
| '''Outgoing calls fail'''&lt;br /&gt;
| Incorrect dialing format or Caller ID configuration.&lt;br /&gt;
| Verify the destination number, Caller ID, and account balance.&lt;br /&gt;
|-&lt;br /&gt;
| '''No audio'''&lt;br /&gt;
| Incorrect audio device or blocked RTP traffic.&lt;br /&gt;
| Verify the microphone, speaker, firewall, and RTP settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''One-way audio'''&lt;br /&gt;
| NAT or firewall issue.&lt;br /&gt;
| Review STUN configuration and RTP connectivity.&lt;br /&gt;
|-&lt;br /&gt;
| '''Poor audio quality'''&lt;br /&gt;
| Network instability or audio device issues.&lt;br /&gt;
| Check latency, packet loss, and audio device settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''DTMF not working'''&lt;br /&gt;
| Incompatible DTMF configuration.&lt;br /&gt;
| Verify the DTMF settings on both the subaccount and the application.&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration disconnects'''&lt;br /&gt;
| Network instability or SIP connectivity issue.&lt;br /&gt;
| Check internet connectivity, firewall rules, and SIP registration settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''No incoming ringtone'''&lt;br /&gt;
| Incorrect ring device.&lt;br /&gt;
| Verify the Ring Device under Settings → Devices.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Verify Registration Status ===&lt;br /&gt;
&lt;br /&gt;
You can verify whether your subaccount is registered through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
If SipWarp displays '''Online''' but incoming calls do not arrive, review the DID routing configuration and POP assignment.&lt;br /&gt;
&lt;br /&gt;
=== Verify Firewall and NAT Settings ===&lt;br /&gt;
&lt;br /&gt;
If SIP registration is successful but audio is missing, investigate possible firewall or NAT issues.&lt;br /&gt;
&lt;br /&gt;
The problem may involve RTP traffic rather than SIP registration itself.&lt;br /&gt;
&lt;br /&gt;
Review the network configuration before making changes to firewall rules.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
For improved security, the following practices are recommended:&lt;br /&gt;
&lt;br /&gt;
* Use a dedicated SIP subaccount for SipWarp.&lt;br /&gt;
* Configure a strong and unique SIP password.&lt;br /&gt;
* Avoid sharing SIP credentials between devices.&lt;br /&gt;
* Restrict international calling when it is not required.&lt;br /&gt;
* Enable appropriate security restrictions in the VoIP.ms Customer Portal.&lt;br /&gt;
* Keep SipWarp and Windows updated.&lt;br /&gt;
* Protect locally stored SIP account information.&lt;br /&gt;
* Use encrypted SIP signaling and media only when both the application and provider are configured to support the selected encryption methods.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms supports SIP-TLS and SRTP. However, encrypted call functionality must be confirmed as compatible with the installed SipWarp version before enabling encryption on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
Enabling mandatory encrypted SIP traffic on the subaccount without a compatible client configuration may prevent successful registration or calling.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]].&lt;br /&gt;
&lt;br /&gt;
=== Local Application Data ===&lt;br /&gt;
&lt;br /&gt;
SipWarp stores its application configuration and related data in the following Windows directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%APPDATA%\SipWarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This directory may remain on the computer after the application is uninstalled.&lt;br /&gt;
&lt;br /&gt;
If removing SipWarp permanently, review this directory for any configuration files, contacts, or other application data that should be backed up or deleted.&lt;br /&gt;
&lt;br /&gt;
== Additional Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sipwarp.com/ SipWarp Official Website]&lt;br /&gt;
* [https://sipwarp.com/help/voipms.htm SipWarp - Connecting a SIP Account]&lt;br /&gt;
* [https://sipwarp.com/help/network.htm SipWarp - RTP and STUN Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/codecs.htm SipWarp - Audio Codecs]&lt;br /&gt;
* [https://sipwarp.com/help/carddav.htm SipWarp - CardDAV Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/sound.htm SipWarp - Audio Device Settings]&lt;br /&gt;
* [https://sipwarp.com/help/calls.htm SipWarp - Calls and Logs]&lt;br /&gt;
* [[Sub Accounts|VoIP.ms Subaccounts]]&lt;br /&gt;
* [[Servers|VoIP.ms Servers]]&lt;br /&gt;
* [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]]&lt;br /&gt;
* [[Softphones|VoIP.ms Softphones]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Softphones]]&lt;br /&gt;
[[Category:Windows]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/SipWarp</id>
		<title>SipWarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/SipWarp"/>
				<updated>2026-10-23T18:11:07Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SipWarp-Logo.png|right|80px|thumb|SipWarp Logo]]&lt;br /&gt;
'''SipWarp''' is a free, lightweight SIP softphone for Windows that allows users to make and receive telephone calls directly from their computers using a compatible Voice over IP (VoIP) provider such as '''VoIP.ms'''.&lt;br /&gt;
&lt;br /&gt;
Developed using Rust, C, and Slint, SipWarp offers a modern and resource-efficient desktop interface designed for everyday VoIP communications.&lt;br /&gt;
&lt;br /&gt;
The application can operate in the Windows system tray, allowing users to remain available for incoming calls while working with other applications.&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several features, including:&lt;br /&gt;
&lt;br /&gt;
* SIP-based incoming and outgoing calls.&lt;br /&gt;
* Support for multiple audio codecs, including G.711, G.722, and Opus.&lt;br /&gt;
* CardDAV contact synchronization.&lt;br /&gt;
* CSV and VCF contact importing and exporting.&lt;br /&gt;
* Manual and automatic call recording.&lt;br /&gt;
* Custom WAV ringtones.&lt;br /&gt;
* Configurable microphones, speakers, and headsets.&lt;br /&gt;
* Call history and contact management.&lt;br /&gt;
* Windows system tray operation.&lt;br /&gt;
&lt;br /&gt;
'''Official Website:''' [https://sipwarp.com/ SipWarp]&lt;br /&gt;
&lt;br /&gt;
'''Supported Operating System:''' Windows&lt;br /&gt;
&lt;br /&gt;
'''Application Type:''' SIP Softphone&lt;br /&gt;
&lt;br /&gt;
'''Cost:''' Free&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Before configuring SipWarp with VoIP.ms, ensure that you have the following:&lt;br /&gt;
&lt;br /&gt;
* An active [https://voip.ms/ VoIP.ms account].&lt;br /&gt;
* A SIP subaccount configured in the VoIP.ms Customer Portal.&lt;br /&gt;
* SipWarp installed on a Windows computer.&lt;br /&gt;
* A stable internet connection.&lt;br /&gt;
* A microphone and speakers, or a compatible headset.&lt;br /&gt;
* An active DID (telephone number) if you intend to receive incoming calls from the public telephone network.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' A DID is not required for outgoing calls. However, you must configure a valid and authorized outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - Download and Install SipWarp ==&lt;br /&gt;
&lt;br /&gt;
# Visit the official SipWarp website at [https://sipwarp.com/ sipwarp.com].&lt;br /&gt;
# Click '''Download for Windows'''.&lt;br /&gt;
# Download the latest available version.&lt;br /&gt;
# Install or launch SipWarp according to the instructions provided with the download.&lt;br /&gt;
# Open the application.&lt;br /&gt;
&lt;br /&gt;
Once launched, SipWarp displays its main telephone interface, which includes a dial pad and call controls.&lt;br /&gt;
: [[File:SipWarp-Main-Interface.png|right|350px|SipWarp main interface showing the dial pad and call controls.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2 - Create a VoIP.ms Subaccount ==&lt;br /&gt;
&lt;br /&gt;
It is recommended to use a dedicated VoIP.ms SIP subaccount for SipWarp instead of configuring the primary account.&lt;br /&gt;
&lt;br /&gt;
This allows you to manage the application's credentials, Caller ID, and calling permissions independently from other devices.&lt;br /&gt;
&lt;br /&gt;
# Log in to the [https://voip.ms/m/login.php VoIP.ms Customer Portal].&lt;br /&gt;
# Navigate to '''Sub Accounts → Create Sub Account'''.&lt;br /&gt;
# Enter a descriptive username, such as &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Select '''SIP''' as the protocol.&lt;br /&gt;
# Select '''User/Password Authentication'''.&lt;br /&gt;
# Enter a strong and unique SIP password.&lt;br /&gt;
# Configure the appropriate '''Device Type''' and '''Caller ID Number'''.&lt;br /&gt;
# Review any required calling permissions.&lt;br /&gt;
# Save the subaccount.&lt;br /&gt;
&lt;br /&gt;
Your complete SIP username follows this format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
123456_sipwarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt; represents your VoIP.ms main account username.&lt;br /&gt;
* &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt; represents the name of your subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The full SIP username, including the underscore and subaccount name, must be entered in SipWarp.&lt;br /&gt;
&lt;br /&gt;
The SIP password is the password assigned to your subaccount, not the password used to access the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Sub Accounts|VoIP.ms Subaccounts]].&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Select a VoIP.ms Server ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms operates multiple Points of Presence (POPs) across North America and internationally.&lt;br /&gt;
&lt;br /&gt;
For optimal performance, select a server geographically close to your location or the server already assigned to your DID.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
montreal.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other examples include:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toronto.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;newyork.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;chicago.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the complete list of available servers, refer to [[Servers|VoIP.ms Servers]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The VoIP.ms server used for SIP registration must match the POP assigned to your DID for incoming calls to reach your device correctly.&lt;br /&gt;
&lt;br /&gt;
=== SIP Server Information ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| SIP Server / Registrar&lt;br /&gt;
| Your selected VoIP.ms POP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Port&lt;br /&gt;
| 5060&lt;br /&gt;
|-&lt;br /&gt;
| Transport Protocol&lt;br /&gt;
| UDP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| Authentication Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| SIP Password&lt;br /&gt;
| Your subaccount SIP password&lt;br /&gt;
|-&lt;br /&gt;
| SIP Domain&lt;br /&gt;
| Same as SIP Server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms also supports alternative SIP ports for compatible configurations. The default UDP port 5060 is sufficient for this guide.&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Configure the SIP Account in SipWarp ==&lt;br /&gt;
&lt;br /&gt;
After creating your VoIP.ms subaccount, open SipWarp and configure the SIP registration settings.&lt;br /&gt;
&lt;br /&gt;
# Open '''SipWarp'''.&lt;br /&gt;
# Click '''Account''' at the bottom of the application window.&lt;br /&gt;
# Enter your VoIP.ms SIP credentials.&lt;br /&gt;
# Configure the SIP server and connection settings.&lt;br /&gt;
# Click '''Save account'''.&lt;br /&gt;
# Wait for the registration status to change to '''Online'''.&lt;br /&gt;
&lt;br /&gt;
=== Account Configuration ===&lt;br /&gt;
&lt;br /&gt;
Use the following configuration as an example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! SipWarp Field&lt;br /&gt;
! Configuration&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Server'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| The VoIP.ms POP selected for your account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Domain'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| Use the same hostname as the SIP server.&lt;br /&gt;
|-&lt;br /&gt;
| '''Username'''&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
| Your complete VoIP.ms SIP subaccount username.&lt;br /&gt;
|-&lt;br /&gt;
| '''Password'''&lt;br /&gt;
| Your SIP subaccount password&lt;br /&gt;
| Password configured in the VoIP.ms Customer Portal.&lt;br /&gt;
|-&lt;br /&gt;
| '''Display Name'''&lt;br /&gt;
| Your name or business name&lt;br /&gt;
| Name used to identify the SIP account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Port'''&lt;br /&gt;
| 5060 or 0&lt;br /&gt;
| Port 0 allows SipWarp to use its default SIP port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Transport'''&lt;br /&gt;
| udp&lt;br /&gt;
| Standard SIP transport for this configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Replace the example values with your own VoIP.ms account information.&lt;br /&gt;
&lt;br /&gt;
When registration succeeds, SipWarp displays:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Online&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This indicates that the application has successfully registered with the VoIP.ms SIP server.&lt;br /&gt;
&lt;br /&gt;
If the application remains on '''Registering''', verify the SIP server address, username, password, and internet connectivity.&lt;br /&gt;
&lt;br /&gt;
:[[File:SipWarp-Account-Settings.png|none|450px]] [[File:SipWarp-Account-Settings2.png|none|450px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Configure Audio Devices ==&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to select different audio devices for conversations and incoming call notifications.&lt;br /&gt;
&lt;br /&gt;
To configure your audio devices:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings'''.&lt;br /&gt;
# Select '''Devices'''.&lt;br /&gt;
# Choose the microphone you want to use.&lt;br /&gt;
# Select your preferred speaker or headset.&lt;br /&gt;
# Configure the device used for incoming call notifications.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
=== Audio Device Settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Microphone'''&lt;br /&gt;
| Selects the microphone used during calls.&lt;br /&gt;
|-&lt;br /&gt;
| '''Speaker / Headphones'''&lt;br /&gt;
| Selects the device used to hear the other party.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ring Device'''&lt;br /&gt;
| Selects the device that plays incoming call notifications.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ringtone File'''&lt;br /&gt;
| Allows you to select a custom WAV ringtone.&lt;br /&gt;
|-&lt;br /&gt;
| '''Local DTMF'''&lt;br /&gt;
| Plays a local keypad tone when pressing a digit.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to use separate devices for the ringtone and call audio.&lt;br /&gt;
&lt;br /&gt;
For example, incoming calls can ring through the computer speakers while conversations are handled through a USB headset.&lt;br /&gt;
&lt;br /&gt;
'''Recommendation:''' Using a USB headset can help reduce echo and background noise.&lt;br /&gt;
&lt;br /&gt;
: SipWarp-Audio-Settings.png|none|450px|SipWarp audio device configuration.]]&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Configure Network Settings ==&lt;br /&gt;
&lt;br /&gt;
SipWarp provides configurable RTP and STUN options to assist with SIP communications across networks using Network Address Translation (NAT).&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
'''Settings → Network'''&lt;br /&gt;
&lt;br /&gt;
=== Recommended Network Configuration ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Minimum Port'''&lt;br /&gt;
| 10001&lt;br /&gt;
| Starting UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Maximum Port'''&lt;br /&gt;
| 20000&lt;br /&gt;
| Ending UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Assists with identifying the public network address.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN Server'''&lt;br /&gt;
| stun.voip.ms&lt;br /&gt;
| STUN server recommended for VoIP.ms.&lt;br /&gt;
|-&lt;br /&gt;
| '''rport'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps SIP responses reach the correct network address and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''DNS SRV'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Not normally required when using a specific VoIP.ms POP hostname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Understanding RTP ===&lt;br /&gt;
&lt;br /&gt;
SIP signaling is used to establish and manage telephone calls. The audio itself is carried separately using RTP (Real-time Transport Protocol).&lt;br /&gt;
&lt;br /&gt;
If an outgoing call connects but one or both parties cannot hear audio, the issue may be related to RTP connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Understanding STUN ===&lt;br /&gt;
&lt;br /&gt;
STUN (Session Traversal Utilities for NAT) allows SipWarp to discover the public-facing address used by the network.&lt;br /&gt;
&lt;br /&gt;
This can help resolve audio issues when the computer is located behind a router.&lt;br /&gt;
&lt;br /&gt;
The recommended STUN server is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stun.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' STUN does not resolve every type of NAT or firewall issue.&lt;br /&gt;
&lt;br /&gt;
=== Firewall and Port Forwarding ===&lt;br /&gt;
&lt;br /&gt;
Port forwarding is generally unnecessary when calls are working correctly.&lt;br /&gt;
&lt;br /&gt;
If calls connect but audio is missing, review the local firewall, router configuration, and RTP traffic.&lt;br /&gt;
&lt;br /&gt;
Avoid exposing unnecessary ports to the public internet. Any firewall or port-forwarding changes should be limited to what is required for the installation.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/network.htm SipWarp Network Configuration Guide].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Network-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Network-Settings.png|450px|SipWarp RTP and STUN configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Configure Audio Codecs ==&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several audio codecs that determine how voice is encoded and transmitted during calls.&lt;br /&gt;
&lt;br /&gt;
The application negotiates a compatible codec with the remote SIP endpoint based on the enabled codecs and their configured priority.&lt;br /&gt;
&lt;br /&gt;
For VoIP.ms, G.711u (PCMU) is recommended as the first codec.&lt;br /&gt;
&lt;br /&gt;
=== Recommended Codec Priority ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Priority&lt;br /&gt;
! Codec&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| '''G.711u (PCMU)'''&lt;br /&gt;
| Recommended for regular telephone calls in North America.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| '''G.722'''&lt;br /&gt;
| HD Call - Wideband audio for compatible SIP-to-SIP connections.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Both endpoints must support the negotiated codec.&lt;br /&gt;
&lt;br /&gt;
G.722 may provide improved audio quality on compatible SIP calls. However, it is not generally available for ordinary calls to the public telephone network.&lt;br /&gt;
&lt;br /&gt;
Opus support in SipWarp does not guarantee Opus interoperability with VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Additional Codec Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''VAD'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Prevents speech clipping caused by voice activity detection.&lt;br /&gt;
|-&lt;br /&gt;
| '''Echo Cancellation'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps reduce echo during conversations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Opus Stereo'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Stereo audio is generally unnecessary for telephone calls.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other available codecs may be left disabled unless specifically required.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/codecs.htm SipWarp Codec Documentation].&lt;br /&gt;
: [[File:SipWarp-Codecs.png|none|450px|Recommended audio codec configuration for SipWarp.]]&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Configure Incoming Calls ==&lt;br /&gt;
&lt;br /&gt;
To receive incoming calls through SipWarp, a VoIP.ms DID must be routed to the SIP subaccount configured in the application.&lt;br /&gt;
&lt;br /&gt;
# Log in to the '''VoIP.ms Customer Portal'''.&lt;br /&gt;
# Navigate to '''DID Numbers → Manage DID(s)'''.&lt;br /&gt;
# Locate the DID you want to configure.&lt;br /&gt;
# Click the edit icon.&lt;br /&gt;
# Under '''Routing''', select '''SIP/IAX'''.&lt;br /&gt;
# Choose the SIP subaccount associated with SipWarp.&lt;br /&gt;
# Verify that the DID's POP matches the SIP server configured in SipWarp.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
Once the DID is properly routed and SipWarp is registered, incoming calls should be delivered to the application.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If you intend to receive calls on multiple devices simultaneously, use separate SIP subaccounts and configure a VoIP.ms [[Ring Groups|Ring Group]].&lt;br /&gt;
&lt;br /&gt;
Registering multiple devices with the same SIP credentials is not recommended because it can cause registration conflicts.&lt;br /&gt;
&lt;br /&gt;
== Step 9 - Configure Outgoing Calls ==&lt;br /&gt;
&lt;br /&gt;
To place an outgoing call:&lt;br /&gt;
&lt;br /&gt;
# Open SipWarp.&lt;br /&gt;
# Enter the destination telephone number using the dial pad.&lt;br /&gt;
# Click '''Call'''.&lt;br /&gt;
# Wait for the call to connect.&lt;br /&gt;
&lt;br /&gt;
=== North American Dialing Format ===&lt;br /&gt;
&lt;br /&gt;
For calls to telephone numbers within the North American Numbering Plan, the following dialing format is recommended:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 + Area Code + Telephone Number&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13125551212&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For international calls, consult the [[Dialing Codes|VoIP.ms Dialing Codes]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Caller ID ===&lt;br /&gt;
&lt;br /&gt;
The outbound Caller ID is generally configured through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
When using a dedicated SIP subaccount:&lt;br /&gt;
&lt;br /&gt;
# Navigate to '''Sub Accounts → Manage Sub Accounts'''.&lt;br /&gt;
# Edit the SipWarp subaccount.&lt;br /&gt;
# Locate the '''CallerID Number''' setting.&lt;br /&gt;
# Select or configure an authorized outbound Caller ID.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
SipWarp may also send Caller ID information from the application, but this requires the appropriate configuration on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Only telephone numbers you own or are authorized to use should be configured as outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Test Your Configuration ==&lt;br /&gt;
&lt;br /&gt;
After completing the configuration, perform the following tests to confirm proper operation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Test&lt;br /&gt;
! Expected Result&lt;br /&gt;
|-&lt;br /&gt;
| SIP Registration&lt;br /&gt;
| SipWarp displays '''Online'''.&lt;br /&gt;
|-&lt;br /&gt;
| Outgoing Call&lt;br /&gt;
| Calls connect successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Incoming Call&lt;br /&gt;
| The assigned DID rings SipWarp.&lt;br /&gt;
|-&lt;br /&gt;
| Two-Way Audio&lt;br /&gt;
| Both parties can hear each other.&lt;br /&gt;
|-&lt;br /&gt;
| DTMF&lt;br /&gt;
| Keypad tones are properly recognized.&lt;br /&gt;
|-&lt;br /&gt;
| Caller ID&lt;br /&gt;
| The authorized outbound number is displayed.&lt;br /&gt;
|-&lt;br /&gt;
| Audio Devices&lt;br /&gt;
| The microphone and headset operate correctly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VoIP.ms Test Numbers ===&lt;br /&gt;
&lt;br /&gt;
VoIP.ms provides test numbers that can help verify your configuration.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''4443'''&lt;br /&gt;
| Echo test. Allows you to verify audio transmission and reception.&lt;br /&gt;
|-&lt;br /&gt;
| '''822'''&lt;br /&gt;
| Caller ID test.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The echo test is useful for identifying missing audio, one-way audio, or microphone-related issues.&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
=== Contact Management ===&lt;br /&gt;
&lt;br /&gt;
SipWarp includes contact management functionality.&lt;br /&gt;
&lt;br /&gt;
Contacts can be stored locally and imported or exported using common file formats.&lt;br /&gt;
&lt;br /&gt;
Supported formats include:&lt;br /&gt;
&lt;br /&gt;
* CSV (Comma-Separated Values)&lt;br /&gt;
* VCF (vCard)&lt;br /&gt;
&lt;br /&gt;
These features allow users to migrate contacts between compatible applications.&lt;br /&gt;
&lt;br /&gt;
=== CardDAV Synchronization ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports CardDAV, a protocol used to synchronize contact information between devices and applications.&lt;br /&gt;
&lt;br /&gt;
To configure CardDAV:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → CardDAV'''.&lt;br /&gt;
# Enter the CardDAV server URL.&lt;br /&gt;
# Enter the username and password associated with the CardDAV service.&lt;br /&gt;
# Click '''Test''' to verify connectivity.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Example CardDAV server URL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://contacts.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' CardDAV credentials are separate from your VoIP.ms SIP credentials.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/carddav.htm SipWarp CardDAV Documentation].&lt;br /&gt;
&lt;br /&gt;
=== Call Recording ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports manual and automatic call recording.&lt;br /&gt;
&lt;br /&gt;
To record an individual call, use the '''REC''' button during an active conversation.&lt;br /&gt;
&lt;br /&gt;
To enable automatic call recording:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Record all calls automatically'''.&lt;br /&gt;
# Enable the option.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Users are responsible for complying with applicable call recording, privacy, and consent requirements in their jurisdiction.&lt;br /&gt;
&lt;br /&gt;
=== Custom Ringtones ===&lt;br /&gt;
&lt;br /&gt;
SipWarp allows users to configure a custom WAV ringtone.&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Ringtone File'''.&lt;br /&gt;
# Select the desired WAV file.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
If no custom ringtone is configured, SipWarp uses its built-in ringtone.&lt;br /&gt;
&lt;br /&gt;
=== Background Operation ===&lt;br /&gt;
&lt;br /&gt;
SipWarp can continue running in the Windows system tray after its main window is closed.&lt;br /&gt;
&lt;br /&gt;
This allows the application to remain available for incoming calls.&lt;br /&gt;
&lt;br /&gt;
To reopen SipWarp, double-click its system tray icon.&lt;br /&gt;
&lt;br /&gt;
To completely close the application, right-click the system tray icon and select '''Exit'''.&lt;br /&gt;
&lt;br /&gt;
=== Launch at Windows Startup ===&lt;br /&gt;
&lt;br /&gt;
To start SipWarp automatically when signing in to Windows:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → App'''.&lt;br /&gt;
# Enable '''Run at startup'''.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The following table lists common issues and recommended troubleshooting steps.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Issue&lt;br /&gt;
! Possible Cause&lt;br /&gt;
! Recommended Solution&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration remains on Registering'''&lt;br /&gt;
| Incorrect SIP credentials or server.&lt;br /&gt;
| Verify the SIP username, password, server hostname, and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Cannot receive incoming calls'''&lt;br /&gt;
| Incorrect DID routing or POP mismatch.&lt;br /&gt;
| Verify that the DID routes to the correct subaccount and uses the same POP.&lt;br /&gt;
|-&lt;br /&gt;
| '''Outgoing calls fail'''&lt;br /&gt;
| Incorrect dialing format or Caller ID configuration.&lt;br /&gt;
| Verify the destination number, Caller ID, and account balance.&lt;br /&gt;
|-&lt;br /&gt;
| '''No audio'''&lt;br /&gt;
| Incorrect audio device or blocked RTP traffic.&lt;br /&gt;
| Verify the microphone, speaker, firewall, and RTP settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''One-way audio'''&lt;br /&gt;
| NAT or firewall issue.&lt;br /&gt;
| Review STUN configuration and RTP connectivity.&lt;br /&gt;
|-&lt;br /&gt;
| '''Poor audio quality'''&lt;br /&gt;
| Network instability or audio device issues.&lt;br /&gt;
| Check latency, packet loss, and audio device settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''DTMF not working'''&lt;br /&gt;
| Incompatible DTMF configuration.&lt;br /&gt;
| Verify the DTMF settings on both the subaccount and the application.&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration disconnects'''&lt;br /&gt;
| Network instability or SIP connectivity issue.&lt;br /&gt;
| Check internet connectivity, firewall rules, and SIP registration settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''No incoming ringtone'''&lt;br /&gt;
| Incorrect ring device.&lt;br /&gt;
| Verify the Ring Device under Settings → Devices.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Verify Registration Status ===&lt;br /&gt;
&lt;br /&gt;
You can verify whether your subaccount is registered through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
If SipWarp displays '''Online''' but incoming calls do not arrive, review the DID routing configuration and POP assignment.&lt;br /&gt;
&lt;br /&gt;
=== Verify Firewall and NAT Settings ===&lt;br /&gt;
&lt;br /&gt;
If SIP registration is successful but audio is missing, investigate possible firewall or NAT issues.&lt;br /&gt;
&lt;br /&gt;
The problem may involve RTP traffic rather than SIP registration itself.&lt;br /&gt;
&lt;br /&gt;
Review the network configuration before making changes to firewall rules.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
For improved security, the following practices are recommended:&lt;br /&gt;
&lt;br /&gt;
* Use a dedicated SIP subaccount for SipWarp.&lt;br /&gt;
* Configure a strong and unique SIP password.&lt;br /&gt;
* Avoid sharing SIP credentials between devices.&lt;br /&gt;
* Restrict international calling when it is not required.&lt;br /&gt;
* Enable appropriate security restrictions in the VoIP.ms Customer Portal.&lt;br /&gt;
* Keep SipWarp and Windows updated.&lt;br /&gt;
* Protect locally stored SIP account information.&lt;br /&gt;
* Use encrypted SIP signaling and media only when both the application and provider are configured to support the selected encryption methods.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms supports SIP-TLS and SRTP. However, encrypted call functionality must be confirmed as compatible with the installed SipWarp version before enabling encryption on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
Enabling mandatory encrypted SIP traffic on the subaccount without a compatible client configuration may prevent successful registration or calling.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]].&lt;br /&gt;
&lt;br /&gt;
=== Local Application Data ===&lt;br /&gt;
&lt;br /&gt;
SipWarp stores its application configuration and related data in the following Windows directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%APPDATA%\SipWarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This directory may remain on the computer after the application is uninstalled.&lt;br /&gt;
&lt;br /&gt;
If removing SipWarp permanently, review this directory for any configuration files, contacts, or other application data that should be backed up or deleted.&lt;br /&gt;
&lt;br /&gt;
== Additional Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sipwarp.com/ SipWarp Official Website]&lt;br /&gt;
* [https://sipwarp.com/help/voipms.htm SipWarp - Connecting a SIP Account]&lt;br /&gt;
* [https://sipwarp.com/help/network.htm SipWarp - RTP and STUN Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/codecs.htm SipWarp - Audio Codecs]&lt;br /&gt;
* [https://sipwarp.com/help/carddav.htm SipWarp - CardDAV Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/sound.htm SipWarp - Audio Device Settings]&lt;br /&gt;
* [https://sipwarp.com/help/calls.htm SipWarp - Calls and Logs]&lt;br /&gt;
* [[Sub Accounts|VoIP.ms Subaccounts]]&lt;br /&gt;
* [[Servers|VoIP.ms Servers]]&lt;br /&gt;
* [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]]&lt;br /&gt;
* [[Softphones|VoIP.ms Softphones]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Softphones]]&lt;br /&gt;
[[Category:Windows]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/SipWarp</id>
		<title>SipWarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/SipWarp"/>
				<updated>2026-10-23T18:10:18Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SipWarp-Logo.png|right|80px|thumb|SipWarp Logo]]&lt;br /&gt;
&lt;br /&gt;
= SipWarp =&lt;br /&gt;
&lt;br /&gt;
'''SipWarp''' is a free, lightweight SIP softphone for Windows that allows users to make and receive telephone calls directly from their computers using a compatible Voice over IP (VoIP) provider such as '''VoIP.ms'''.&lt;br /&gt;
&lt;br /&gt;
Developed using Rust, C, and Slint, SipWarp offers a modern and resource-efficient desktop interface designed for everyday VoIP communications.&lt;br /&gt;
&lt;br /&gt;
The application can operate in the Windows system tray, allowing users to remain available for incoming calls while working with other applications.&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several features, including:&lt;br /&gt;
&lt;br /&gt;
* SIP-based incoming and outgoing calls.&lt;br /&gt;
* Support for multiple audio codecs, including G.711, G.722, and Opus.&lt;br /&gt;
* CardDAV contact synchronization.&lt;br /&gt;
* CSV and VCF contact importing and exporting.&lt;br /&gt;
* Manual and automatic call recording.&lt;br /&gt;
* Custom WAV ringtones.&lt;br /&gt;
* Configurable microphones, speakers, and headsets.&lt;br /&gt;
* Call history and contact management.&lt;br /&gt;
* Windows system tray operation.&lt;br /&gt;
&lt;br /&gt;
'''Official Website:''' [https://sipwarp.com/ SipWarp]&lt;br /&gt;
&lt;br /&gt;
'''Supported Operating System:''' Windows&lt;br /&gt;
&lt;br /&gt;
'''Application Type:''' SIP Softphone&lt;br /&gt;
&lt;br /&gt;
'''Cost:''' Free&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Before configuring SipWarp with VoIP.ms, ensure that you have the following:&lt;br /&gt;
&lt;br /&gt;
* An active [https://voip.ms/ VoIP.ms account].&lt;br /&gt;
* A SIP subaccount configured in the VoIP.ms Customer Portal.&lt;br /&gt;
* SipWarp installed on a Windows computer.&lt;br /&gt;
* A stable internet connection.&lt;br /&gt;
* A microphone and speakers, or a compatible headset.&lt;br /&gt;
* An active DID (telephone number) if you intend to receive incoming calls from the public telephone network.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' A DID is not required for outgoing calls. However, you must configure a valid and authorized outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - Download and Install SipWarp ==&lt;br /&gt;
&lt;br /&gt;
# Visit the official SipWarp website at [https://sipwarp.com/ sipwarp.com].&lt;br /&gt;
# Click '''Download for Windows'''.&lt;br /&gt;
# Download the latest available version.&lt;br /&gt;
# Install or launch SipWarp according to the instructions provided with the download.&lt;br /&gt;
# Open the application.&lt;br /&gt;
&lt;br /&gt;
Once launched, SipWarp displays its main telephone interface, which includes a dial pad and call controls.&lt;br /&gt;
: [[File:SipWarp-Main-Interface.png|450px|SipWarp main interface showing the dial pad and call controls.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2 - Create a VoIP.ms Subaccount ==&lt;br /&gt;
&lt;br /&gt;
It is recommended to use a dedicated VoIP.ms SIP subaccount for SipWarp instead of configuring the primary account.&lt;br /&gt;
&lt;br /&gt;
This allows you to manage the application's credentials, Caller ID, and calling permissions independently from other devices.&lt;br /&gt;
&lt;br /&gt;
# Log in to the [https://voip.ms/m/login.php VoIP.ms Customer Portal].&lt;br /&gt;
# Navigate to '''Sub Accounts → Create Sub Account'''.&lt;br /&gt;
# Enter a descriptive username, such as &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Select '''SIP''' as the protocol.&lt;br /&gt;
# Select '''User/Password Authentication'''.&lt;br /&gt;
# Enter a strong and unique SIP password.&lt;br /&gt;
# Configure the appropriate '''Device Type''' and '''Caller ID Number'''.&lt;br /&gt;
# Review any required calling permissions.&lt;br /&gt;
# Save the subaccount.&lt;br /&gt;
&lt;br /&gt;
Your complete SIP username follows this format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
123456_sipwarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt; represents your VoIP.ms main account username.&lt;br /&gt;
* &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt; represents the name of your subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The full SIP username, including the underscore and subaccount name, must be entered in SipWarp.&lt;br /&gt;
&lt;br /&gt;
The SIP password is the password assigned to your subaccount, not the password used to access the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Sub Accounts|VoIP.ms Subaccounts]].&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Select a VoIP.ms Server ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms operates multiple Points of Presence (POPs) across North America and internationally.&lt;br /&gt;
&lt;br /&gt;
For optimal performance, select a server geographically close to your location or the server already assigned to your DID.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
montreal.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other examples include:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toronto.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;newyork.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;chicago.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the complete list of available servers, refer to [[Servers|VoIP.ms Servers]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The VoIP.ms server used for SIP registration must match the POP assigned to your DID for incoming calls to reach your device correctly.&lt;br /&gt;
&lt;br /&gt;
=== SIP Server Information ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| SIP Server / Registrar&lt;br /&gt;
| Your selected VoIP.ms POP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Port&lt;br /&gt;
| 5060&lt;br /&gt;
|-&lt;br /&gt;
| Transport Protocol&lt;br /&gt;
| UDP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| Authentication Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| SIP Password&lt;br /&gt;
| Your subaccount SIP password&lt;br /&gt;
|-&lt;br /&gt;
| SIP Domain&lt;br /&gt;
| Same as SIP Server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms also supports alternative SIP ports for compatible configurations. The default UDP port 5060 is sufficient for this guide.&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Configure the SIP Account in SipWarp ==&lt;br /&gt;
&lt;br /&gt;
After creating your VoIP.ms subaccount, open SipWarp and configure the SIP registration settings.&lt;br /&gt;
&lt;br /&gt;
# Open '''SipWarp'''.&lt;br /&gt;
# Click '''Account''' at the bottom of the application window.&lt;br /&gt;
# Enter your VoIP.ms SIP credentials.&lt;br /&gt;
# Configure the SIP server and connection settings.&lt;br /&gt;
# Click '''Save account'''.&lt;br /&gt;
# Wait for the registration status to change to '''Online'''.&lt;br /&gt;
&lt;br /&gt;
=== Account Configuration ===&lt;br /&gt;
&lt;br /&gt;
Use the following configuration as an example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! SipWarp Field&lt;br /&gt;
! Configuration&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Server'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| The VoIP.ms POP selected for your account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Domain'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| Use the same hostname as the SIP server.&lt;br /&gt;
|-&lt;br /&gt;
| '''Username'''&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
| Your complete VoIP.ms SIP subaccount username.&lt;br /&gt;
|-&lt;br /&gt;
| '''Password'''&lt;br /&gt;
| Your SIP subaccount password&lt;br /&gt;
| Password configured in the VoIP.ms Customer Portal.&lt;br /&gt;
|-&lt;br /&gt;
| '''Display Name'''&lt;br /&gt;
| Your name or business name&lt;br /&gt;
| Name used to identify the SIP account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Port'''&lt;br /&gt;
| 5060 or 0&lt;br /&gt;
| Port 0 allows SipWarp to use its default SIP port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Transport'''&lt;br /&gt;
| udp&lt;br /&gt;
| Standard SIP transport for this configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Replace the example values with your own VoIP.ms account information.&lt;br /&gt;
&lt;br /&gt;
When registration succeeds, SipWarp displays:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Online&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This indicates that the application has successfully registered with the VoIP.ms SIP server.&lt;br /&gt;
&lt;br /&gt;
If the application remains on '''Registering''', verify the SIP server address, username, password, and internet connectivity.&lt;br /&gt;
&lt;br /&gt;
:[[File:SipWarp-Account-Settings.png|none|450px]] [[File:SipWarp-Account-Settings2.png|none|450px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Configure Audio Devices ==&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to select different audio devices for conversations and incoming call notifications.&lt;br /&gt;
&lt;br /&gt;
To configure your audio devices:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings'''.&lt;br /&gt;
# Select '''Devices'''.&lt;br /&gt;
# Choose the microphone you want to use.&lt;br /&gt;
# Select your preferred speaker or headset.&lt;br /&gt;
# Configure the device used for incoming call notifications.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
=== Audio Device Settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Microphone'''&lt;br /&gt;
| Selects the microphone used during calls.&lt;br /&gt;
|-&lt;br /&gt;
| '''Speaker / Headphones'''&lt;br /&gt;
| Selects the device used to hear the other party.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ring Device'''&lt;br /&gt;
| Selects the device that plays incoming call notifications.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ringtone File'''&lt;br /&gt;
| Allows you to select a custom WAV ringtone.&lt;br /&gt;
|-&lt;br /&gt;
| '''Local DTMF'''&lt;br /&gt;
| Plays a local keypad tone when pressing a digit.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to use separate devices for the ringtone and call audio.&lt;br /&gt;
&lt;br /&gt;
For example, incoming calls can ring through the computer speakers while conversations are handled through a USB headset.&lt;br /&gt;
&lt;br /&gt;
'''Recommendation:''' Using a USB headset can help reduce echo and background noise.&lt;br /&gt;
&lt;br /&gt;
: SipWarp-Audio-Settings.png|none|450px|SipWarp audio device configuration.]]&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Configure Network Settings ==&lt;br /&gt;
&lt;br /&gt;
SipWarp provides configurable RTP and STUN options to assist with SIP communications across networks using Network Address Translation (NAT).&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
'''Settings → Network'''&lt;br /&gt;
&lt;br /&gt;
=== Recommended Network Configuration ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Minimum Port'''&lt;br /&gt;
| 10001&lt;br /&gt;
| Starting UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Maximum Port'''&lt;br /&gt;
| 20000&lt;br /&gt;
| Ending UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Assists with identifying the public network address.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN Server'''&lt;br /&gt;
| stun.voip.ms&lt;br /&gt;
| STUN server recommended for VoIP.ms.&lt;br /&gt;
|-&lt;br /&gt;
| '''rport'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps SIP responses reach the correct network address and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''DNS SRV'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Not normally required when using a specific VoIP.ms POP hostname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Understanding RTP ===&lt;br /&gt;
&lt;br /&gt;
SIP signaling is used to establish and manage telephone calls. The audio itself is carried separately using RTP (Real-time Transport Protocol).&lt;br /&gt;
&lt;br /&gt;
If an outgoing call connects but one or both parties cannot hear audio, the issue may be related to RTP connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Understanding STUN ===&lt;br /&gt;
&lt;br /&gt;
STUN (Session Traversal Utilities for NAT) allows SipWarp to discover the public-facing address used by the network.&lt;br /&gt;
&lt;br /&gt;
This can help resolve audio issues when the computer is located behind a router.&lt;br /&gt;
&lt;br /&gt;
The recommended STUN server is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stun.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' STUN does not resolve every type of NAT or firewall issue.&lt;br /&gt;
&lt;br /&gt;
=== Firewall and Port Forwarding ===&lt;br /&gt;
&lt;br /&gt;
Port forwarding is generally unnecessary when calls are working correctly.&lt;br /&gt;
&lt;br /&gt;
If calls connect but audio is missing, review the local firewall, router configuration, and RTP traffic.&lt;br /&gt;
&lt;br /&gt;
Avoid exposing unnecessary ports to the public internet. Any firewall or port-forwarding changes should be limited to what is required for the installation.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/network.htm SipWarp Network Configuration Guide].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Network-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Network-Settings.png|450px|SipWarp RTP and STUN configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Configure Audio Codecs ==&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several audio codecs that determine how voice is encoded and transmitted during calls.&lt;br /&gt;
&lt;br /&gt;
The application negotiates a compatible codec with the remote SIP endpoint based on the enabled codecs and their configured priority.&lt;br /&gt;
&lt;br /&gt;
For VoIP.ms, G.711u (PCMU) is recommended as the first codec.&lt;br /&gt;
&lt;br /&gt;
=== Recommended Codec Priority ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Priority&lt;br /&gt;
! Codec&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| '''G.711u (PCMU)'''&lt;br /&gt;
| Recommended for regular telephone calls in North America.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| '''G.722'''&lt;br /&gt;
| HD Call - Wideband audio for compatible SIP-to-SIP connections.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Both endpoints must support the negotiated codec.&lt;br /&gt;
&lt;br /&gt;
G.722 may provide improved audio quality on compatible SIP calls. However, it is not generally available for ordinary calls to the public telephone network.&lt;br /&gt;
&lt;br /&gt;
Opus support in SipWarp does not guarantee Opus interoperability with VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Additional Codec Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''VAD'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Prevents speech clipping caused by voice activity detection.&lt;br /&gt;
|-&lt;br /&gt;
| '''Echo Cancellation'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps reduce echo during conversations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Opus Stereo'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Stereo audio is generally unnecessary for telephone calls.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other available codecs may be left disabled unless specifically required.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/codecs.htm SipWarp Codec Documentation].&lt;br /&gt;
: [[File:SipWarp-Codecs.png|none|450px|Recommended audio codec configuration for SipWarp.]]&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Configure Incoming Calls ==&lt;br /&gt;
&lt;br /&gt;
To receive incoming calls through SipWarp, a VoIP.ms DID must be routed to the SIP subaccount configured in the application.&lt;br /&gt;
&lt;br /&gt;
# Log in to the '''VoIP.ms Customer Portal'''.&lt;br /&gt;
# Navigate to '''DID Numbers → Manage DID(s)'''.&lt;br /&gt;
# Locate the DID you want to configure.&lt;br /&gt;
# Click the edit icon.&lt;br /&gt;
# Under '''Routing''', select '''SIP/IAX'''.&lt;br /&gt;
# Choose the SIP subaccount associated with SipWarp.&lt;br /&gt;
# Verify that the DID's POP matches the SIP server configured in SipWarp.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
Once the DID is properly routed and SipWarp is registered, incoming calls should be delivered to the application.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If you intend to receive calls on multiple devices simultaneously, use separate SIP subaccounts and configure a VoIP.ms [[Ring Groups|Ring Group]].&lt;br /&gt;
&lt;br /&gt;
Registering multiple devices with the same SIP credentials is not recommended because it can cause registration conflicts.&lt;br /&gt;
&lt;br /&gt;
== Step 9 - Configure Outgoing Calls ==&lt;br /&gt;
&lt;br /&gt;
To place an outgoing call:&lt;br /&gt;
&lt;br /&gt;
# Open SipWarp.&lt;br /&gt;
# Enter the destination telephone number using the dial pad.&lt;br /&gt;
# Click '''Call'''.&lt;br /&gt;
# Wait for the call to connect.&lt;br /&gt;
&lt;br /&gt;
=== North American Dialing Format ===&lt;br /&gt;
&lt;br /&gt;
For calls to telephone numbers within the North American Numbering Plan, the following dialing format is recommended:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 + Area Code + Telephone Number&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13125551212&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For international calls, consult the [[Dialing Codes|VoIP.ms Dialing Codes]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Caller ID ===&lt;br /&gt;
&lt;br /&gt;
The outbound Caller ID is generally configured through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
When using a dedicated SIP subaccount:&lt;br /&gt;
&lt;br /&gt;
# Navigate to '''Sub Accounts → Manage Sub Accounts'''.&lt;br /&gt;
# Edit the SipWarp subaccount.&lt;br /&gt;
# Locate the '''CallerID Number''' setting.&lt;br /&gt;
# Select or configure an authorized outbound Caller ID.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
SipWarp may also send Caller ID information from the application, but this requires the appropriate configuration on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Only telephone numbers you own or are authorized to use should be configured as outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Test Your Configuration ==&lt;br /&gt;
&lt;br /&gt;
After completing the configuration, perform the following tests to confirm proper operation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Test&lt;br /&gt;
! Expected Result&lt;br /&gt;
|-&lt;br /&gt;
| SIP Registration&lt;br /&gt;
| SipWarp displays '''Online'''.&lt;br /&gt;
|-&lt;br /&gt;
| Outgoing Call&lt;br /&gt;
| Calls connect successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Incoming Call&lt;br /&gt;
| The assigned DID rings SipWarp.&lt;br /&gt;
|-&lt;br /&gt;
| Two-Way Audio&lt;br /&gt;
| Both parties can hear each other.&lt;br /&gt;
|-&lt;br /&gt;
| DTMF&lt;br /&gt;
| Keypad tones are properly recognized.&lt;br /&gt;
|-&lt;br /&gt;
| Caller ID&lt;br /&gt;
| The authorized outbound number is displayed.&lt;br /&gt;
|-&lt;br /&gt;
| Audio Devices&lt;br /&gt;
| The microphone and headset operate correctly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VoIP.ms Test Numbers ===&lt;br /&gt;
&lt;br /&gt;
VoIP.ms provides test numbers that can help verify your configuration.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''4443'''&lt;br /&gt;
| Echo test. Allows you to verify audio transmission and reception.&lt;br /&gt;
|-&lt;br /&gt;
| '''822'''&lt;br /&gt;
| Caller ID test.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The echo test is useful for identifying missing audio, one-way audio, or microphone-related issues.&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
=== Contact Management ===&lt;br /&gt;
&lt;br /&gt;
SipWarp includes contact management functionality.&lt;br /&gt;
&lt;br /&gt;
Contacts can be stored locally and imported or exported using common file formats.&lt;br /&gt;
&lt;br /&gt;
Supported formats include:&lt;br /&gt;
&lt;br /&gt;
* CSV (Comma-Separated Values)&lt;br /&gt;
* VCF (vCard)&lt;br /&gt;
&lt;br /&gt;
These features allow users to migrate contacts between compatible applications.&lt;br /&gt;
&lt;br /&gt;
=== CardDAV Synchronization ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports CardDAV, a protocol used to synchronize contact information between devices and applications.&lt;br /&gt;
&lt;br /&gt;
To configure CardDAV:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → CardDAV'''.&lt;br /&gt;
# Enter the CardDAV server URL.&lt;br /&gt;
# Enter the username and password associated with the CardDAV service.&lt;br /&gt;
# Click '''Test''' to verify connectivity.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Example CardDAV server URL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://contacts.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' CardDAV credentials are separate from your VoIP.ms SIP credentials.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/carddav.htm SipWarp CardDAV Documentation].&lt;br /&gt;
&lt;br /&gt;
=== Call Recording ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports manual and automatic call recording.&lt;br /&gt;
&lt;br /&gt;
To record an individual call, use the '''REC''' button during an active conversation.&lt;br /&gt;
&lt;br /&gt;
To enable automatic call recording:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Record all calls automatically'''.&lt;br /&gt;
# Enable the option.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Users are responsible for complying with applicable call recording, privacy, and consent requirements in their jurisdiction.&lt;br /&gt;
&lt;br /&gt;
=== Custom Ringtones ===&lt;br /&gt;
&lt;br /&gt;
SipWarp allows users to configure a custom WAV ringtone.&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Ringtone File'''.&lt;br /&gt;
# Select the desired WAV file.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
If no custom ringtone is configured, SipWarp uses its built-in ringtone.&lt;br /&gt;
&lt;br /&gt;
=== Background Operation ===&lt;br /&gt;
&lt;br /&gt;
SipWarp can continue running in the Windows system tray after its main window is closed.&lt;br /&gt;
&lt;br /&gt;
This allows the application to remain available for incoming calls.&lt;br /&gt;
&lt;br /&gt;
To reopen SipWarp, double-click its system tray icon.&lt;br /&gt;
&lt;br /&gt;
To completely close the application, right-click the system tray icon and select '''Exit'''.&lt;br /&gt;
&lt;br /&gt;
=== Launch at Windows Startup ===&lt;br /&gt;
&lt;br /&gt;
To start SipWarp automatically when signing in to Windows:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → App'''.&lt;br /&gt;
# Enable '''Run at startup'''.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The following table lists common issues and recommended troubleshooting steps.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Issue&lt;br /&gt;
! Possible Cause&lt;br /&gt;
! Recommended Solution&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration remains on Registering'''&lt;br /&gt;
| Incorrect SIP credentials or server.&lt;br /&gt;
| Verify the SIP username, password, server hostname, and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Cannot receive incoming calls'''&lt;br /&gt;
| Incorrect DID routing or POP mismatch.&lt;br /&gt;
| Verify that the DID routes to the correct subaccount and uses the same POP.&lt;br /&gt;
|-&lt;br /&gt;
| '''Outgoing calls fail'''&lt;br /&gt;
| Incorrect dialing format or Caller ID configuration.&lt;br /&gt;
| Verify the destination number, Caller ID, and account balance.&lt;br /&gt;
|-&lt;br /&gt;
| '''No audio'''&lt;br /&gt;
| Incorrect audio device or blocked RTP traffic.&lt;br /&gt;
| Verify the microphone, speaker, firewall, and RTP settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''One-way audio'''&lt;br /&gt;
| NAT or firewall issue.&lt;br /&gt;
| Review STUN configuration and RTP connectivity.&lt;br /&gt;
|-&lt;br /&gt;
| '''Poor audio quality'''&lt;br /&gt;
| Network instability or audio device issues.&lt;br /&gt;
| Check latency, packet loss, and audio device settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''DTMF not working'''&lt;br /&gt;
| Incompatible DTMF configuration.&lt;br /&gt;
| Verify the DTMF settings on both the subaccount and the application.&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration disconnects'''&lt;br /&gt;
| Network instability or SIP connectivity issue.&lt;br /&gt;
| Check internet connectivity, firewall rules, and SIP registration settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''No incoming ringtone'''&lt;br /&gt;
| Incorrect ring device.&lt;br /&gt;
| Verify the Ring Device under Settings → Devices.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Verify Registration Status ===&lt;br /&gt;
&lt;br /&gt;
You can verify whether your subaccount is registered through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
If SipWarp displays '''Online''' but incoming calls do not arrive, review the DID routing configuration and POP assignment.&lt;br /&gt;
&lt;br /&gt;
=== Verify Firewall and NAT Settings ===&lt;br /&gt;
&lt;br /&gt;
If SIP registration is successful but audio is missing, investigate possible firewall or NAT issues.&lt;br /&gt;
&lt;br /&gt;
The problem may involve RTP traffic rather than SIP registration itself.&lt;br /&gt;
&lt;br /&gt;
Review the network configuration before making changes to firewall rules.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
For improved security, the following practices are recommended:&lt;br /&gt;
&lt;br /&gt;
* Use a dedicated SIP subaccount for SipWarp.&lt;br /&gt;
* Configure a strong and unique SIP password.&lt;br /&gt;
* Avoid sharing SIP credentials between devices.&lt;br /&gt;
* Restrict international calling when it is not required.&lt;br /&gt;
* Enable appropriate security restrictions in the VoIP.ms Customer Portal.&lt;br /&gt;
* Keep SipWarp and Windows updated.&lt;br /&gt;
* Protect locally stored SIP account information.&lt;br /&gt;
* Use encrypted SIP signaling and media only when both the application and provider are configured to support the selected encryption methods.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms supports SIP-TLS and SRTP. However, encrypted call functionality must be confirmed as compatible with the installed SipWarp version before enabling encryption on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
Enabling mandatory encrypted SIP traffic on the subaccount without a compatible client configuration may prevent successful registration or calling.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]].&lt;br /&gt;
&lt;br /&gt;
=== Local Application Data ===&lt;br /&gt;
&lt;br /&gt;
SipWarp stores its application configuration and related data in the following Windows directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%APPDATA%\SipWarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This directory may remain on the computer after the application is uninstalled.&lt;br /&gt;
&lt;br /&gt;
If removing SipWarp permanently, review this directory for any configuration files, contacts, or other application data that should be backed up or deleted.&lt;br /&gt;
&lt;br /&gt;
== Additional Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sipwarp.com/ SipWarp Official Website]&lt;br /&gt;
* [https://sipwarp.com/help/voipms.htm SipWarp - Connecting a SIP Account]&lt;br /&gt;
* [https://sipwarp.com/help/network.htm SipWarp - RTP and STUN Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/codecs.htm SipWarp - Audio Codecs]&lt;br /&gt;
* [https://sipwarp.com/help/carddav.htm SipWarp - CardDAV Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/sound.htm SipWarp - Audio Device Settings]&lt;br /&gt;
* [https://sipwarp.com/help/calls.htm SipWarp - Calls and Logs]&lt;br /&gt;
* [[Sub Accounts|VoIP.ms Subaccounts]]&lt;br /&gt;
* [[Servers|VoIP.ms Servers]]&lt;br /&gt;
* [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]]&lt;br /&gt;
* [[Softphones|VoIP.ms Softphones]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Softphones]]&lt;br /&gt;
[[Category:Windows]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:SipWarp-Audio-Settings.png</id>
		<title>File:SipWarp-Audio-Settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:SipWarp-Audio-Settings.png"/>
				<updated>2026-10-23T15:35:41Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/SipWarp</id>
		<title>SipWarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/SipWarp"/>
				<updated>2026-10-23T15:32:29Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SipWarp-Logo.png|right|80px|thumb|SipWarp Logo]]&lt;br /&gt;
&lt;br /&gt;
= SipWarp =&lt;br /&gt;
&lt;br /&gt;
'''SipWarp''' is a free, lightweight SIP softphone for Windows that allows users to make and receive telephone calls directly from their computers using a compatible Voice over IP (VoIP) provider such as '''VoIP.ms'''.&lt;br /&gt;
&lt;br /&gt;
Developed using Rust, C, and Slint, SipWarp offers a modern and resource-efficient desktop interface designed for everyday VoIP communications.&lt;br /&gt;
&lt;br /&gt;
The application can operate in the Windows system tray, allowing users to remain available for incoming calls while working with other applications.&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several features, including:&lt;br /&gt;
&lt;br /&gt;
* SIP-based incoming and outgoing calls.&lt;br /&gt;
* Support for multiple audio codecs, including G.711, G.722, and Opus.&lt;br /&gt;
* CardDAV contact synchronization.&lt;br /&gt;
* CSV and VCF contact importing and exporting.&lt;br /&gt;
* Manual and automatic call recording.&lt;br /&gt;
* Custom WAV ringtones.&lt;br /&gt;
* Configurable microphones, speakers, and headsets.&lt;br /&gt;
* Call history and contact management.&lt;br /&gt;
* Windows system tray operation.&lt;br /&gt;
&lt;br /&gt;
'''Official Website:''' [https://sipwarp.com/ SipWarp]&lt;br /&gt;
&lt;br /&gt;
'''Supported Operating System:''' Windows&lt;br /&gt;
&lt;br /&gt;
'''Application Type:''' SIP Softphone&lt;br /&gt;
&lt;br /&gt;
'''Cost:''' Free&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Before configuring SipWarp with VoIP.ms, ensure that you have the following:&lt;br /&gt;
&lt;br /&gt;
* An active [https://voip.ms/ VoIP.ms account].&lt;br /&gt;
* A SIP subaccount configured in the VoIP.ms Customer Portal.&lt;br /&gt;
* SipWarp installed on a Windows computer.&lt;br /&gt;
* A stable internet connection.&lt;br /&gt;
* A microphone and speakers, or a compatible headset.&lt;br /&gt;
* An active DID (telephone number) if you intend to receive incoming calls from the public telephone network.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' A DID is not required for outgoing calls. However, you must configure a valid and authorized outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - Download and Install SipWarp ==&lt;br /&gt;
&lt;br /&gt;
# Visit the official SipWarp website at [https://sipwarp.com/ sipwarp.com].&lt;br /&gt;
# Click '''Download for Windows'''.&lt;br /&gt;
# Download the latest available version.&lt;br /&gt;
# Install or launch SipWarp according to the instructions provided with the download.&lt;br /&gt;
# Open the application.&lt;br /&gt;
&lt;br /&gt;
Once launched, SipWarp displays its main telephone interface, which includes a dial pad and call controls.&lt;br /&gt;
:[[File:SipWarp-Main-Interface.png|thumb|center|650px|SipWarp main interface showing the dial pad and call controls.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2 - Create a VoIP.ms Subaccount ==&lt;br /&gt;
&lt;br /&gt;
It is recommended to use a dedicated VoIP.ms SIP subaccount for SipWarp instead of configuring the primary account.&lt;br /&gt;
&lt;br /&gt;
This allows you to manage the application's credentials, Caller ID, and calling permissions independently from other devices.&lt;br /&gt;
&lt;br /&gt;
# Log in to the [https://voip.ms/m/login.php VoIP.ms Customer Portal].&lt;br /&gt;
# Navigate to '''Sub Accounts → Create Sub Account'''.&lt;br /&gt;
# Enter a descriptive username, such as &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Select '''SIP''' as the protocol.&lt;br /&gt;
# Select '''User/Password Authentication'''.&lt;br /&gt;
# Enter a strong and unique SIP password.&lt;br /&gt;
# Configure the appropriate '''Device Type''' and '''Caller ID Number'''.&lt;br /&gt;
# Review any required calling permissions.&lt;br /&gt;
# Save the subaccount.&lt;br /&gt;
&lt;br /&gt;
Your complete SIP username follows this format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
123456_sipwarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt; represents your VoIP.ms main account username.&lt;br /&gt;
* &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt; represents the name of your subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The full SIP username, including the underscore and subaccount name, must be entered in SipWarp.&lt;br /&gt;
&lt;br /&gt;
The SIP password is the password assigned to your subaccount, not the password used to access the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Sub Accounts|VoIP.ms Subaccounts]].&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Select a VoIP.ms Server ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms operates multiple Points of Presence (POPs) across North America and internationally.&lt;br /&gt;
&lt;br /&gt;
For optimal performance, select a server geographically close to your location or the server already assigned to your DID.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
montreal.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other examples include:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toronto.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;newyork.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;chicago.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the complete list of available servers, refer to [[Servers|VoIP.ms Servers]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The VoIP.ms server used for SIP registration must match the POP assigned to your DID for incoming calls to reach your device correctly.&lt;br /&gt;
&lt;br /&gt;
=== SIP Server Information ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| SIP Server / Registrar&lt;br /&gt;
| Your selected VoIP.ms POP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Port&lt;br /&gt;
| 5060&lt;br /&gt;
|-&lt;br /&gt;
| Transport Protocol&lt;br /&gt;
| UDP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| Authentication Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| SIP Password&lt;br /&gt;
| Your subaccount SIP password&lt;br /&gt;
|-&lt;br /&gt;
| SIP Domain&lt;br /&gt;
| Same as SIP Server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms also supports alternative SIP ports for compatible configurations. The default UDP port 5060 is sufficient for this guide.&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Configure the SIP Account in SipWarp ==&lt;br /&gt;
&lt;br /&gt;
After creating your VoIP.ms subaccount, open SipWarp and configure the SIP registration settings.&lt;br /&gt;
&lt;br /&gt;
# Open '''SipWarp'''.&lt;br /&gt;
# Click '''Account''' at the bottom of the application window.&lt;br /&gt;
# Enter your VoIP.ms SIP credentials.&lt;br /&gt;
# Configure the SIP server and connection settings.&lt;br /&gt;
# Click '''Save account'''.&lt;br /&gt;
# Wait for the registration status to change to '''Online'''.&lt;br /&gt;
&lt;br /&gt;
=== Account Configuration ===&lt;br /&gt;
&lt;br /&gt;
Use the following configuration as an example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! SipWarp Field&lt;br /&gt;
! Configuration&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Server'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| The VoIP.ms POP selected for your account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Domain'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| Use the same hostname as the SIP server.&lt;br /&gt;
|-&lt;br /&gt;
| '''Username'''&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
| Your complete VoIP.ms SIP subaccount username.&lt;br /&gt;
|-&lt;br /&gt;
| '''Password'''&lt;br /&gt;
| Your SIP subaccount password&lt;br /&gt;
| Password configured in the VoIP.ms Customer Portal.&lt;br /&gt;
|-&lt;br /&gt;
| '''Display Name'''&lt;br /&gt;
| Your name or business name&lt;br /&gt;
| Name used to identify the SIP account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Port'''&lt;br /&gt;
| 5060 or 0&lt;br /&gt;
| Port 0 allows SipWarp to use its default SIP port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Transport'''&lt;br /&gt;
| udp&lt;br /&gt;
| Standard SIP transport for this configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Replace the example values with your own VoIP.ms account information.&lt;br /&gt;
&lt;br /&gt;
When registration succeeds, SipWarp displays:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Online&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This indicates that the application has successfully registered with the VoIP.ms SIP server.&lt;br /&gt;
&lt;br /&gt;
If the application remains on '''Registering''', verify the SIP server address, username, password, and internet connectivity.&lt;br /&gt;
&lt;br /&gt;
:[[File:SipWarp-Account-Settings.png|thumb|450px|SipWarp SIP account configuration using VoIP.ms credentials.]]&lt;br /&gt;
:[[File:SipWarp-Account-Settings2.png|thumb|450px|SipWarp SIP account configuration using VoIP.ms credentials.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Configure Audio Devices ==&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to select different audio devices for conversations and incoming call notifications.&lt;br /&gt;
&lt;br /&gt;
To configure your audio devices:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings'''.&lt;br /&gt;
# Select '''Devices'''.&lt;br /&gt;
# Choose the microphone you want to use.&lt;br /&gt;
# Select your preferred speaker or headset.&lt;br /&gt;
# Configure the device used for incoming call notifications.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
=== Audio Device Settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Microphone'''&lt;br /&gt;
| Selects the microphone used during calls.&lt;br /&gt;
|-&lt;br /&gt;
| '''Speaker / Headphones'''&lt;br /&gt;
| Selects the device used to hear the other party.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ring Device'''&lt;br /&gt;
| Selects the device that plays incoming call notifications.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ringtone File'''&lt;br /&gt;
| Allows you to select a custom WAV ringtone.&lt;br /&gt;
|-&lt;br /&gt;
| '''Local DTMF'''&lt;br /&gt;
| Plays a local keypad tone when pressing a digit.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to use separate devices for the ringtone and call audio.&lt;br /&gt;
&lt;br /&gt;
For example, incoming calls can ring through the computer speakers while conversations are handled through a USB headset.&lt;br /&gt;
&lt;br /&gt;
'''Recommendation:''' Using a USB headset can help reduce echo and background noise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Audio-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Audio-Settings.png|thumb|center|650px|SipWarp audio device configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Configure Network Settings ==&lt;br /&gt;
&lt;br /&gt;
SipWarp provides configurable RTP and STUN options to assist with SIP communications across networks using Network Address Translation (NAT).&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
'''Settings → Network'''&lt;br /&gt;
&lt;br /&gt;
=== Recommended Network Configuration ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Minimum Port'''&lt;br /&gt;
| 10001&lt;br /&gt;
| Starting UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Maximum Port'''&lt;br /&gt;
| 20000&lt;br /&gt;
| Ending UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Assists with identifying the public network address.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN Server'''&lt;br /&gt;
| stun.voip.ms&lt;br /&gt;
| STUN server recommended for VoIP.ms.&lt;br /&gt;
|-&lt;br /&gt;
| '''rport'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps SIP responses reach the correct network address and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''DNS SRV'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Not normally required when using a specific VoIP.ms POP hostname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Understanding RTP ===&lt;br /&gt;
&lt;br /&gt;
SIP signaling is used to establish and manage telephone calls. The audio itself is carried separately using RTP (Real-time Transport Protocol).&lt;br /&gt;
&lt;br /&gt;
If an outgoing call connects but one or both parties cannot hear audio, the issue may be related to RTP connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Understanding STUN ===&lt;br /&gt;
&lt;br /&gt;
STUN (Session Traversal Utilities for NAT) allows SipWarp to discover the public-facing address used by the network.&lt;br /&gt;
&lt;br /&gt;
This can help resolve audio issues when the computer is located behind a router.&lt;br /&gt;
&lt;br /&gt;
The recommended STUN server is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stun.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' STUN does not resolve every type of NAT or firewall issue.&lt;br /&gt;
&lt;br /&gt;
=== Firewall and Port Forwarding ===&lt;br /&gt;
&lt;br /&gt;
Port forwarding is generally unnecessary when calls are working correctly.&lt;br /&gt;
&lt;br /&gt;
If calls connect but audio is missing, review the local firewall, router configuration, and RTP traffic.&lt;br /&gt;
&lt;br /&gt;
Avoid exposing unnecessary ports to the public internet. Any firewall or port-forwarding changes should be limited to what is required for the installation.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/network.htm SipWarp Network Configuration Guide].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Network-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Network-Settings.png|thumb|center|650px|SipWarp RTP and STUN configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Configure Audio Codecs ==&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several audio codecs that determine how voice is encoded and transmitted during calls.&lt;br /&gt;
&lt;br /&gt;
The application negotiates a compatible codec with the remote SIP endpoint based on the enabled codecs and their configured priority.&lt;br /&gt;
&lt;br /&gt;
For VoIP.ms, G.711u (PCMU) is recommended as the first codec.&lt;br /&gt;
&lt;br /&gt;
=== Recommended Codec Priority ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Priority&lt;br /&gt;
! Codec&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| '''G.711u (PCMU)'''&lt;br /&gt;
| Recommended for regular telephone calls in North America.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| '''G.722'''&lt;br /&gt;
| HD Call - Wideband audio for compatible SIP-to-SIP connections.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Both endpoints must support the negotiated codec.&lt;br /&gt;
&lt;br /&gt;
G.722 may provide improved audio quality on compatible SIP calls. However, it is not generally available for ordinary calls to the public telephone network.&lt;br /&gt;
&lt;br /&gt;
Opus support in SipWarp does not guarantee Opus interoperability with VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Additional Codec Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''VAD'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Prevents speech clipping caused by voice activity detection.&lt;br /&gt;
|-&lt;br /&gt;
| '''Echo Cancellation'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps reduce echo during conversations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Opus Stereo'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Stereo audio is generally unnecessary for telephone calls.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other available codecs may be left disabled unless specifically required.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/codecs.htm SipWarp Codec Documentation].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Codecs.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Codecs.png|thumb|center|650px|Recommended audio codec configuration for SipWarp.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Configure Incoming Calls ==&lt;br /&gt;
&lt;br /&gt;
To receive incoming calls through SipWarp, a VoIP.ms DID must be routed to the SIP subaccount configured in the application.&lt;br /&gt;
&lt;br /&gt;
# Log in to the '''VoIP.ms Customer Portal'''.&lt;br /&gt;
# Navigate to '''DID Numbers → Manage DID(s)'''.&lt;br /&gt;
# Locate the DID you want to configure.&lt;br /&gt;
# Click the edit icon.&lt;br /&gt;
# Under '''Routing''', select '''SIP/IAX'''.&lt;br /&gt;
# Choose the SIP subaccount associated with SipWarp.&lt;br /&gt;
# Verify that the DID's POP matches the SIP server configured in SipWarp.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
Once the DID is properly routed and SipWarp is registered, incoming calls should be delivered to the application.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If you intend to receive calls on multiple devices simultaneously, use separate SIP subaccounts and configure a VoIP.ms [[Ring Groups|Ring Group]].&lt;br /&gt;
&lt;br /&gt;
Registering multiple devices with the same SIP credentials is not recommended because it can cause registration conflicts.&lt;br /&gt;
&lt;br /&gt;
== Step 9 - Configure Outgoing Calls ==&lt;br /&gt;
&lt;br /&gt;
To place an outgoing call:&lt;br /&gt;
&lt;br /&gt;
# Open SipWarp.&lt;br /&gt;
# Enter the destination telephone number using the dial pad.&lt;br /&gt;
# Click '''Call'''.&lt;br /&gt;
# Wait for the call to connect.&lt;br /&gt;
&lt;br /&gt;
=== North American Dialing Format ===&lt;br /&gt;
&lt;br /&gt;
For calls to telephone numbers within the North American Numbering Plan, the following dialing format is recommended:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 + Area Code + Telephone Number&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13125551212&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For international calls, consult the [[Dialing Codes|VoIP.ms Dialing Codes]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Caller ID ===&lt;br /&gt;
&lt;br /&gt;
The outbound Caller ID is generally configured through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
When using a dedicated SIP subaccount:&lt;br /&gt;
&lt;br /&gt;
# Navigate to '''Sub Accounts → Manage Sub Accounts'''.&lt;br /&gt;
# Edit the SipWarp subaccount.&lt;br /&gt;
# Locate the '''CallerID Number''' setting.&lt;br /&gt;
# Select or configure an authorized outbound Caller ID.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
SipWarp may also send Caller ID information from the application, but this requires the appropriate configuration on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Only telephone numbers you own or are authorized to use should be configured as outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Test Your Configuration ==&lt;br /&gt;
&lt;br /&gt;
After completing the configuration, perform the following tests to confirm proper operation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Test&lt;br /&gt;
! Expected Result&lt;br /&gt;
|-&lt;br /&gt;
| SIP Registration&lt;br /&gt;
| SipWarp displays '''Online'''.&lt;br /&gt;
|-&lt;br /&gt;
| Outgoing Call&lt;br /&gt;
| Calls connect successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Incoming Call&lt;br /&gt;
| The assigned DID rings SipWarp.&lt;br /&gt;
|-&lt;br /&gt;
| Two-Way Audio&lt;br /&gt;
| Both parties can hear each other.&lt;br /&gt;
|-&lt;br /&gt;
| DTMF&lt;br /&gt;
| Keypad tones are properly recognized.&lt;br /&gt;
|-&lt;br /&gt;
| Caller ID&lt;br /&gt;
| The authorized outbound number is displayed.&lt;br /&gt;
|-&lt;br /&gt;
| Audio Devices&lt;br /&gt;
| The microphone and headset operate correctly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VoIP.ms Test Numbers ===&lt;br /&gt;
&lt;br /&gt;
VoIP.ms provides test numbers that can help verify your configuration.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''4443'''&lt;br /&gt;
| Echo test. Allows you to verify audio transmission and reception.&lt;br /&gt;
|-&lt;br /&gt;
| '''822'''&lt;br /&gt;
| Caller ID test.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The echo test is useful for identifying missing audio, one-way audio, or microphone-related issues.&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
=== Contact Management ===&lt;br /&gt;
&lt;br /&gt;
SipWarp includes contact management functionality.&lt;br /&gt;
&lt;br /&gt;
Contacts can be stored locally and imported or exported using common file formats.&lt;br /&gt;
&lt;br /&gt;
Supported formats include:&lt;br /&gt;
&lt;br /&gt;
* CSV (Comma-Separated Values)&lt;br /&gt;
* VCF (vCard)&lt;br /&gt;
&lt;br /&gt;
These features allow users to migrate contacts between compatible applications.&lt;br /&gt;
&lt;br /&gt;
=== CardDAV Synchronization ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports CardDAV, a protocol used to synchronize contact information between devices and applications.&lt;br /&gt;
&lt;br /&gt;
To configure CardDAV:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → CardDAV'''.&lt;br /&gt;
# Enter the CardDAV server URL.&lt;br /&gt;
# Enter the username and password associated with the CardDAV service.&lt;br /&gt;
# Click '''Test''' to verify connectivity.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Example CardDAV server URL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://contacts.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' CardDAV credentials are separate from your VoIP.ms SIP credentials.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/carddav.htm SipWarp CardDAV Documentation].&lt;br /&gt;
&lt;br /&gt;
=== Call Recording ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports manual and automatic call recording.&lt;br /&gt;
&lt;br /&gt;
To record an individual call, use the '''REC''' button during an active conversation.&lt;br /&gt;
&lt;br /&gt;
To enable automatic call recording:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Record all calls automatically'''.&lt;br /&gt;
# Enable the option.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Users are responsible for complying with applicable call recording, privacy, and consent requirements in their jurisdiction.&lt;br /&gt;
&lt;br /&gt;
=== Custom Ringtones ===&lt;br /&gt;
&lt;br /&gt;
SipWarp allows users to configure a custom WAV ringtone.&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Ringtone File'''.&lt;br /&gt;
# Select the desired WAV file.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
If no custom ringtone is configured, SipWarp uses its built-in ringtone.&lt;br /&gt;
&lt;br /&gt;
=== Background Operation ===&lt;br /&gt;
&lt;br /&gt;
SipWarp can continue running in the Windows system tray after its main window is closed.&lt;br /&gt;
&lt;br /&gt;
This allows the application to remain available for incoming calls.&lt;br /&gt;
&lt;br /&gt;
To reopen SipWarp, double-click its system tray icon.&lt;br /&gt;
&lt;br /&gt;
To completely close the application, right-click the system tray icon and select '''Exit'''.&lt;br /&gt;
&lt;br /&gt;
=== Launch at Windows Startup ===&lt;br /&gt;
&lt;br /&gt;
To start SipWarp automatically when signing in to Windows:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → App'''.&lt;br /&gt;
# Enable '''Run at startup'''.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The following table lists common issues and recommended troubleshooting steps.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Issue&lt;br /&gt;
! Possible Cause&lt;br /&gt;
! Recommended Solution&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration remains on Registering'''&lt;br /&gt;
| Incorrect SIP credentials or server.&lt;br /&gt;
| Verify the SIP username, password, server hostname, and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Cannot receive incoming calls'''&lt;br /&gt;
| Incorrect DID routing or POP mismatch.&lt;br /&gt;
| Verify that the DID routes to the correct subaccount and uses the same POP.&lt;br /&gt;
|-&lt;br /&gt;
| '''Outgoing calls fail'''&lt;br /&gt;
| Incorrect dialing format or Caller ID configuration.&lt;br /&gt;
| Verify the destination number, Caller ID, and account balance.&lt;br /&gt;
|-&lt;br /&gt;
| '''No audio'''&lt;br /&gt;
| Incorrect audio device or blocked RTP traffic.&lt;br /&gt;
| Verify the microphone, speaker, firewall, and RTP settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''One-way audio'''&lt;br /&gt;
| NAT or firewall issue.&lt;br /&gt;
| Review STUN configuration and RTP connectivity.&lt;br /&gt;
|-&lt;br /&gt;
| '''Poor audio quality'''&lt;br /&gt;
| Network instability or audio device issues.&lt;br /&gt;
| Check latency, packet loss, and audio device settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''DTMF not working'''&lt;br /&gt;
| Incompatible DTMF configuration.&lt;br /&gt;
| Verify the DTMF settings on both the subaccount and the application.&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration disconnects'''&lt;br /&gt;
| Network instability or SIP connectivity issue.&lt;br /&gt;
| Check internet connectivity, firewall rules, and SIP registration settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''No incoming ringtone'''&lt;br /&gt;
| Incorrect ring device.&lt;br /&gt;
| Verify the Ring Device under Settings → Devices.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Verify Registration Status ===&lt;br /&gt;
&lt;br /&gt;
You can verify whether your subaccount is registered through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
If SipWarp displays '''Online''' but incoming calls do not arrive, review the DID routing configuration and POP assignment.&lt;br /&gt;
&lt;br /&gt;
=== Verify Firewall and NAT Settings ===&lt;br /&gt;
&lt;br /&gt;
If SIP registration is successful but audio is missing, investigate possible firewall or NAT issues.&lt;br /&gt;
&lt;br /&gt;
The problem may involve RTP traffic rather than SIP registration itself.&lt;br /&gt;
&lt;br /&gt;
Review the network configuration before making changes to firewall rules.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
For improved security, the following practices are recommended:&lt;br /&gt;
&lt;br /&gt;
* Use a dedicated SIP subaccount for SipWarp.&lt;br /&gt;
* Configure a strong and unique SIP password.&lt;br /&gt;
* Avoid sharing SIP credentials between devices.&lt;br /&gt;
* Restrict international calling when it is not required.&lt;br /&gt;
* Enable appropriate security restrictions in the VoIP.ms Customer Portal.&lt;br /&gt;
* Keep SipWarp and Windows updated.&lt;br /&gt;
* Protect locally stored SIP account information.&lt;br /&gt;
* Use encrypted SIP signaling and media only when both the application and provider are configured to support the selected encryption methods.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms supports SIP-TLS and SRTP. However, encrypted call functionality must be confirmed as compatible with the installed SipWarp version before enabling encryption on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
Enabling mandatory encrypted SIP traffic on the subaccount without a compatible client configuration may prevent successful registration or calling.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]].&lt;br /&gt;
&lt;br /&gt;
=== Local Application Data ===&lt;br /&gt;
&lt;br /&gt;
SipWarp stores its application configuration and related data in the following Windows directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%APPDATA%\SipWarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This directory may remain on the computer after the application is uninstalled.&lt;br /&gt;
&lt;br /&gt;
If removing SipWarp permanently, review this directory for any configuration files, contacts, or other application data that should be backed up or deleted.&lt;br /&gt;
&lt;br /&gt;
== Additional Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sipwarp.com/ SipWarp Official Website]&lt;br /&gt;
* [https://sipwarp.com/help/voipms.htm SipWarp - Connecting a SIP Account]&lt;br /&gt;
* [https://sipwarp.com/help/network.htm SipWarp - RTP and STUN Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/codecs.htm SipWarp - Audio Codecs]&lt;br /&gt;
* [https://sipwarp.com/help/carddav.htm SipWarp - CardDAV Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/sound.htm SipWarp - Audio Device Settings]&lt;br /&gt;
* [https://sipwarp.com/help/calls.htm SipWarp - Calls and Logs]&lt;br /&gt;
* [[Sub Accounts|VoIP.ms Subaccounts]]&lt;br /&gt;
* [[Servers|VoIP.ms Servers]]&lt;br /&gt;
* [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]]&lt;br /&gt;
* [[Softphones|VoIP.ms Softphones]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Softphones]]&lt;br /&gt;
[[Category:Windows]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/SipWarp</id>
		<title>SipWarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/SipWarp"/>
				<updated>2026-10-23T15:32:15Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Step 1 - Download and Install SipWarp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SipWarp-Logo.png|right|80px|thumb|SipWarp Logo]]&lt;br /&gt;
&lt;br /&gt;
= SipWarp =&lt;br /&gt;
&lt;br /&gt;
'''SipWarp''' is a free, lightweight SIP softphone for Windows that allows users to make and receive telephone calls directly from their computers using a compatible Voice over IP (VoIP) provider such as '''VoIP.ms'''.&lt;br /&gt;
&lt;br /&gt;
Developed using Rust, C, and Slint, SipWarp offers a modern and resource-efficient desktop interface designed for everyday VoIP communications.&lt;br /&gt;
&lt;br /&gt;
The application can operate in the Windows system tray, allowing users to remain available for incoming calls while working with other applications.&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several features, including:&lt;br /&gt;
&lt;br /&gt;
* SIP-based incoming and outgoing calls.&lt;br /&gt;
* Support for multiple audio codecs, including G.711, G.722, and Opus.&lt;br /&gt;
* CardDAV contact synchronization.&lt;br /&gt;
* CSV and VCF contact importing and exporting.&lt;br /&gt;
* Manual and automatic call recording.&lt;br /&gt;
* Custom WAV ringtones.&lt;br /&gt;
* Configurable microphones, speakers, and headsets.&lt;br /&gt;
* Call history and contact management.&lt;br /&gt;
* Windows system tray operation.&lt;br /&gt;
&lt;br /&gt;
'''Official Website:''' [https://sipwarp.com/ SipWarp]&lt;br /&gt;
&lt;br /&gt;
'''Supported Operating System:''' Windows&lt;br /&gt;
&lt;br /&gt;
'''Application Type:''' SIP Softphone&lt;br /&gt;
&lt;br /&gt;
'''Cost:''' Free&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Before configuring SipWarp with VoIP.ms, ensure that you have the following:&lt;br /&gt;
&lt;br /&gt;
* An active [https://voip.ms/ VoIP.ms account].&lt;br /&gt;
* A SIP subaccount configured in the VoIP.ms Customer Portal.&lt;br /&gt;
* SipWarp installed on a Windows computer.&lt;br /&gt;
* A stable internet connection.&lt;br /&gt;
* A microphone and speakers, or a compatible headset.&lt;br /&gt;
* An active DID (telephone number) if you intend to receive incoming calls from the public telephone network.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' A DID is not required for outgoing calls. However, you must configure a valid and authorized outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - Download and Install SipWarp ==&lt;br /&gt;
&lt;br /&gt;
# Visit the official SipWarp website at [https://sipwarp.com/ sipwarp.com].&lt;br /&gt;
# Click '''Download for Windows'''.&lt;br /&gt;
# Download the latest available version.&lt;br /&gt;
# Install or launch SipWarp according to the instructions provided with the download.&lt;br /&gt;
# Open the application.&lt;br /&gt;
&lt;br /&gt;
Once launched, SipWarp displays its main telephone interface, which includes a dial pad and call controls.&lt;br /&gt;
:[[File:SipWarp-Main-Interface.png|450px|SipWarp main interface showing the dial pad and call controls.]]&lt;br /&gt;
&lt;br /&gt;
== Step 2 - Create a VoIP.ms Subaccount ==&lt;br /&gt;
&lt;br /&gt;
It is recommended to use a dedicated VoIP.ms SIP subaccount for SipWarp instead of configuring the primary account.&lt;br /&gt;
&lt;br /&gt;
This allows you to manage the application's credentials, Caller ID, and calling permissions independently from other devices.&lt;br /&gt;
&lt;br /&gt;
# Log in to the [https://voip.ms/m/login.php VoIP.ms Customer Portal].&lt;br /&gt;
# Navigate to '''Sub Accounts → Create Sub Account'''.&lt;br /&gt;
# Enter a descriptive username, such as &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Select '''SIP''' as the protocol.&lt;br /&gt;
# Select '''User/Password Authentication'''.&lt;br /&gt;
# Enter a strong and unique SIP password.&lt;br /&gt;
# Configure the appropriate '''Device Type''' and '''Caller ID Number'''.&lt;br /&gt;
# Review any required calling permissions.&lt;br /&gt;
# Save the subaccount.&lt;br /&gt;
&lt;br /&gt;
Your complete SIP username follows this format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
123456_sipwarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt; represents your VoIP.ms main account username.&lt;br /&gt;
* &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt; represents the name of your subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The full SIP username, including the underscore and subaccount name, must be entered in SipWarp.&lt;br /&gt;
&lt;br /&gt;
The SIP password is the password assigned to your subaccount, not the password used to access the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Sub Accounts|VoIP.ms Subaccounts]].&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Select a VoIP.ms Server ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms operates multiple Points of Presence (POPs) across North America and internationally.&lt;br /&gt;
&lt;br /&gt;
For optimal performance, select a server geographically close to your location or the server already assigned to your DID.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
montreal.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other examples include:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toronto.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;newyork.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;chicago.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the complete list of available servers, refer to [[Servers|VoIP.ms Servers]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The VoIP.ms server used for SIP registration must match the POP assigned to your DID for incoming calls to reach your device correctly.&lt;br /&gt;
&lt;br /&gt;
=== SIP Server Information ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| SIP Server / Registrar&lt;br /&gt;
| Your selected VoIP.ms POP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Port&lt;br /&gt;
| 5060&lt;br /&gt;
|-&lt;br /&gt;
| Transport Protocol&lt;br /&gt;
| UDP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| Authentication Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| SIP Password&lt;br /&gt;
| Your subaccount SIP password&lt;br /&gt;
|-&lt;br /&gt;
| SIP Domain&lt;br /&gt;
| Same as SIP Server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms also supports alternative SIP ports for compatible configurations. The default UDP port 5060 is sufficient for this guide.&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Configure the SIP Account in SipWarp ==&lt;br /&gt;
&lt;br /&gt;
After creating your VoIP.ms subaccount, open SipWarp and configure the SIP registration settings.&lt;br /&gt;
&lt;br /&gt;
# Open '''SipWarp'''.&lt;br /&gt;
# Click '''Account''' at the bottom of the application window.&lt;br /&gt;
# Enter your VoIP.ms SIP credentials.&lt;br /&gt;
# Configure the SIP server and connection settings.&lt;br /&gt;
# Click '''Save account'''.&lt;br /&gt;
# Wait for the registration status to change to '''Online'''.&lt;br /&gt;
&lt;br /&gt;
=== Account Configuration ===&lt;br /&gt;
&lt;br /&gt;
Use the following configuration as an example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! SipWarp Field&lt;br /&gt;
! Configuration&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Server'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| The VoIP.ms POP selected for your account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Domain'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| Use the same hostname as the SIP server.&lt;br /&gt;
|-&lt;br /&gt;
| '''Username'''&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
| Your complete VoIP.ms SIP subaccount username.&lt;br /&gt;
|-&lt;br /&gt;
| '''Password'''&lt;br /&gt;
| Your SIP subaccount password&lt;br /&gt;
| Password configured in the VoIP.ms Customer Portal.&lt;br /&gt;
|-&lt;br /&gt;
| '''Display Name'''&lt;br /&gt;
| Your name or business name&lt;br /&gt;
| Name used to identify the SIP account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Port'''&lt;br /&gt;
| 5060 or 0&lt;br /&gt;
| Port 0 allows SipWarp to use its default SIP port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Transport'''&lt;br /&gt;
| udp&lt;br /&gt;
| Standard SIP transport for this configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Replace the example values with your own VoIP.ms account information.&lt;br /&gt;
&lt;br /&gt;
When registration succeeds, SipWarp displays:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Online&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This indicates that the application has successfully registered with the VoIP.ms SIP server.&lt;br /&gt;
&lt;br /&gt;
If the application remains on '''Registering''', verify the SIP server address, username, password, and internet connectivity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Upload a screenshot of the SipWarp Account configuration window.&lt;br /&gt;
&lt;br /&gt;
Suggested filename: SipWarp-Account-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Account-Settings.png|thumb|center|650px|SipWarp SIP account configuration using VoIP.ms credentials.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Configure Audio Devices ==&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to select different audio devices for conversations and incoming call notifications.&lt;br /&gt;
&lt;br /&gt;
To configure your audio devices:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings'''.&lt;br /&gt;
# Select '''Devices'''.&lt;br /&gt;
# Choose the microphone you want to use.&lt;br /&gt;
# Select your preferred speaker or headset.&lt;br /&gt;
# Configure the device used for incoming call notifications.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
=== Audio Device Settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Microphone'''&lt;br /&gt;
| Selects the microphone used during calls.&lt;br /&gt;
|-&lt;br /&gt;
| '''Speaker / Headphones'''&lt;br /&gt;
| Selects the device used to hear the other party.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ring Device'''&lt;br /&gt;
| Selects the device that plays incoming call notifications.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ringtone File'''&lt;br /&gt;
| Allows you to select a custom WAV ringtone.&lt;br /&gt;
|-&lt;br /&gt;
| '''Local DTMF'''&lt;br /&gt;
| Plays a local keypad tone when pressing a digit.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to use separate devices for the ringtone and call audio.&lt;br /&gt;
&lt;br /&gt;
For example, incoming calls can ring through the computer speakers while conversations are handled through a USB headset.&lt;br /&gt;
&lt;br /&gt;
'''Recommendation:''' Using a USB headset can help reduce echo and background noise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Audio-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Audio-Settings.png|thumb|center|650px|SipWarp audio device configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Configure Network Settings ==&lt;br /&gt;
&lt;br /&gt;
SipWarp provides configurable RTP and STUN options to assist with SIP communications across networks using Network Address Translation (NAT).&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
'''Settings → Network'''&lt;br /&gt;
&lt;br /&gt;
=== Recommended Network Configuration ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Minimum Port'''&lt;br /&gt;
| 10001&lt;br /&gt;
| Starting UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Maximum Port'''&lt;br /&gt;
| 20000&lt;br /&gt;
| Ending UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Assists with identifying the public network address.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN Server'''&lt;br /&gt;
| stun.voip.ms&lt;br /&gt;
| STUN server recommended for VoIP.ms.&lt;br /&gt;
|-&lt;br /&gt;
| '''rport'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps SIP responses reach the correct network address and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''DNS SRV'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Not normally required when using a specific VoIP.ms POP hostname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Understanding RTP ===&lt;br /&gt;
&lt;br /&gt;
SIP signaling is used to establish and manage telephone calls. The audio itself is carried separately using RTP (Real-time Transport Protocol).&lt;br /&gt;
&lt;br /&gt;
If an outgoing call connects but one or both parties cannot hear audio, the issue may be related to RTP connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Understanding STUN ===&lt;br /&gt;
&lt;br /&gt;
STUN (Session Traversal Utilities for NAT) allows SipWarp to discover the public-facing address used by the network.&lt;br /&gt;
&lt;br /&gt;
This can help resolve audio issues when the computer is located behind a router.&lt;br /&gt;
&lt;br /&gt;
The recommended STUN server is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stun.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' STUN does not resolve every type of NAT or firewall issue.&lt;br /&gt;
&lt;br /&gt;
=== Firewall and Port Forwarding ===&lt;br /&gt;
&lt;br /&gt;
Port forwarding is generally unnecessary when calls are working correctly.&lt;br /&gt;
&lt;br /&gt;
If calls connect but audio is missing, review the local firewall, router configuration, and RTP traffic.&lt;br /&gt;
&lt;br /&gt;
Avoid exposing unnecessary ports to the public internet. Any firewall or port-forwarding changes should be limited to what is required for the installation.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/network.htm SipWarp Network Configuration Guide].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Network-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Network-Settings.png|thumb|center|650px|SipWarp RTP and STUN configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Configure Audio Codecs ==&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several audio codecs that determine how voice is encoded and transmitted during calls.&lt;br /&gt;
&lt;br /&gt;
The application negotiates a compatible codec with the remote SIP endpoint based on the enabled codecs and their configured priority.&lt;br /&gt;
&lt;br /&gt;
For VoIP.ms, G.711u (PCMU) is recommended as the first codec.&lt;br /&gt;
&lt;br /&gt;
=== Recommended Codec Priority ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Priority&lt;br /&gt;
! Codec&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| '''G.711u (PCMU)'''&lt;br /&gt;
| Recommended for regular telephone calls in North America.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| '''G.722'''&lt;br /&gt;
| HD Call - Wideband audio for compatible SIP-to-SIP connections.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Both endpoints must support the negotiated codec.&lt;br /&gt;
&lt;br /&gt;
G.722 may provide improved audio quality on compatible SIP calls. However, it is not generally available for ordinary calls to the public telephone network.&lt;br /&gt;
&lt;br /&gt;
Opus support in SipWarp does not guarantee Opus interoperability with VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Additional Codec Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''VAD'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Prevents speech clipping caused by voice activity detection.&lt;br /&gt;
|-&lt;br /&gt;
| '''Echo Cancellation'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps reduce echo during conversations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Opus Stereo'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Stereo audio is generally unnecessary for telephone calls.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other available codecs may be left disabled unless specifically required.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/codecs.htm SipWarp Codec Documentation].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Codecs.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Codecs.png|thumb|center|650px|Recommended audio codec configuration for SipWarp.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Configure Incoming Calls ==&lt;br /&gt;
&lt;br /&gt;
To receive incoming calls through SipWarp, a VoIP.ms DID must be routed to the SIP subaccount configured in the application.&lt;br /&gt;
&lt;br /&gt;
# Log in to the '''VoIP.ms Customer Portal'''.&lt;br /&gt;
# Navigate to '''DID Numbers → Manage DID(s)'''.&lt;br /&gt;
# Locate the DID you want to configure.&lt;br /&gt;
# Click the edit icon.&lt;br /&gt;
# Under '''Routing''', select '''SIP/IAX'''.&lt;br /&gt;
# Choose the SIP subaccount associated with SipWarp.&lt;br /&gt;
# Verify that the DID's POP matches the SIP server configured in SipWarp.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
Once the DID is properly routed and SipWarp is registered, incoming calls should be delivered to the application.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If you intend to receive calls on multiple devices simultaneously, use separate SIP subaccounts and configure a VoIP.ms [[Ring Groups|Ring Group]].&lt;br /&gt;
&lt;br /&gt;
Registering multiple devices with the same SIP credentials is not recommended because it can cause registration conflicts.&lt;br /&gt;
&lt;br /&gt;
== Step 9 - Configure Outgoing Calls ==&lt;br /&gt;
&lt;br /&gt;
To place an outgoing call:&lt;br /&gt;
&lt;br /&gt;
# Open SipWarp.&lt;br /&gt;
# Enter the destination telephone number using the dial pad.&lt;br /&gt;
# Click '''Call'''.&lt;br /&gt;
# Wait for the call to connect.&lt;br /&gt;
&lt;br /&gt;
=== North American Dialing Format ===&lt;br /&gt;
&lt;br /&gt;
For calls to telephone numbers within the North American Numbering Plan, the following dialing format is recommended:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 + Area Code + Telephone Number&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13125551212&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For international calls, consult the [[Dialing Codes|VoIP.ms Dialing Codes]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Caller ID ===&lt;br /&gt;
&lt;br /&gt;
The outbound Caller ID is generally configured through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
When using a dedicated SIP subaccount:&lt;br /&gt;
&lt;br /&gt;
# Navigate to '''Sub Accounts → Manage Sub Accounts'''.&lt;br /&gt;
# Edit the SipWarp subaccount.&lt;br /&gt;
# Locate the '''CallerID Number''' setting.&lt;br /&gt;
# Select or configure an authorized outbound Caller ID.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
SipWarp may also send Caller ID information from the application, but this requires the appropriate configuration on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Only telephone numbers you own or are authorized to use should be configured as outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Test Your Configuration ==&lt;br /&gt;
&lt;br /&gt;
After completing the configuration, perform the following tests to confirm proper operation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Test&lt;br /&gt;
! Expected Result&lt;br /&gt;
|-&lt;br /&gt;
| SIP Registration&lt;br /&gt;
| SipWarp displays '''Online'''.&lt;br /&gt;
|-&lt;br /&gt;
| Outgoing Call&lt;br /&gt;
| Calls connect successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Incoming Call&lt;br /&gt;
| The assigned DID rings SipWarp.&lt;br /&gt;
|-&lt;br /&gt;
| Two-Way Audio&lt;br /&gt;
| Both parties can hear each other.&lt;br /&gt;
|-&lt;br /&gt;
| DTMF&lt;br /&gt;
| Keypad tones are properly recognized.&lt;br /&gt;
|-&lt;br /&gt;
| Caller ID&lt;br /&gt;
| The authorized outbound number is displayed.&lt;br /&gt;
|-&lt;br /&gt;
| Audio Devices&lt;br /&gt;
| The microphone and headset operate correctly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VoIP.ms Test Numbers ===&lt;br /&gt;
&lt;br /&gt;
VoIP.ms provides test numbers that can help verify your configuration.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''4443'''&lt;br /&gt;
| Echo test. Allows you to verify audio transmission and reception.&lt;br /&gt;
|-&lt;br /&gt;
| '''822'''&lt;br /&gt;
| Caller ID test.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The echo test is useful for identifying missing audio, one-way audio, or microphone-related issues.&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
=== Contact Management ===&lt;br /&gt;
&lt;br /&gt;
SipWarp includes contact management functionality.&lt;br /&gt;
&lt;br /&gt;
Contacts can be stored locally and imported or exported using common file formats.&lt;br /&gt;
&lt;br /&gt;
Supported formats include:&lt;br /&gt;
&lt;br /&gt;
* CSV (Comma-Separated Values)&lt;br /&gt;
* VCF (vCard)&lt;br /&gt;
&lt;br /&gt;
These features allow users to migrate contacts between compatible applications.&lt;br /&gt;
&lt;br /&gt;
=== CardDAV Synchronization ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports CardDAV, a protocol used to synchronize contact information between devices and applications.&lt;br /&gt;
&lt;br /&gt;
To configure CardDAV:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → CardDAV'''.&lt;br /&gt;
# Enter the CardDAV server URL.&lt;br /&gt;
# Enter the username and password associated with the CardDAV service.&lt;br /&gt;
# Click '''Test''' to verify connectivity.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Example CardDAV server URL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://contacts.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' CardDAV credentials are separate from your VoIP.ms SIP credentials.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/carddav.htm SipWarp CardDAV Documentation].&lt;br /&gt;
&lt;br /&gt;
=== Call Recording ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports manual and automatic call recording.&lt;br /&gt;
&lt;br /&gt;
To record an individual call, use the '''REC''' button during an active conversation.&lt;br /&gt;
&lt;br /&gt;
To enable automatic call recording:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Record all calls automatically'''.&lt;br /&gt;
# Enable the option.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Users are responsible for complying with applicable call recording, privacy, and consent requirements in their jurisdiction.&lt;br /&gt;
&lt;br /&gt;
=== Custom Ringtones ===&lt;br /&gt;
&lt;br /&gt;
SipWarp allows users to configure a custom WAV ringtone.&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Ringtone File'''.&lt;br /&gt;
# Select the desired WAV file.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
If no custom ringtone is configured, SipWarp uses its built-in ringtone.&lt;br /&gt;
&lt;br /&gt;
=== Background Operation ===&lt;br /&gt;
&lt;br /&gt;
SipWarp can continue running in the Windows system tray after its main window is closed.&lt;br /&gt;
&lt;br /&gt;
This allows the application to remain available for incoming calls.&lt;br /&gt;
&lt;br /&gt;
To reopen SipWarp, double-click its system tray icon.&lt;br /&gt;
&lt;br /&gt;
To completely close the application, right-click the system tray icon and select '''Exit'''.&lt;br /&gt;
&lt;br /&gt;
=== Launch at Windows Startup ===&lt;br /&gt;
&lt;br /&gt;
To start SipWarp automatically when signing in to Windows:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → App'''.&lt;br /&gt;
# Enable '''Run at startup'''.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The following table lists common issues and recommended troubleshooting steps.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Issue&lt;br /&gt;
! Possible Cause&lt;br /&gt;
! Recommended Solution&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration remains on Registering'''&lt;br /&gt;
| Incorrect SIP credentials or server.&lt;br /&gt;
| Verify the SIP username, password, server hostname, and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Cannot receive incoming calls'''&lt;br /&gt;
| Incorrect DID routing or POP mismatch.&lt;br /&gt;
| Verify that the DID routes to the correct subaccount and uses the same POP.&lt;br /&gt;
|-&lt;br /&gt;
| '''Outgoing calls fail'''&lt;br /&gt;
| Incorrect dialing format or Caller ID configuration.&lt;br /&gt;
| Verify the destination number, Caller ID, and account balance.&lt;br /&gt;
|-&lt;br /&gt;
| '''No audio'''&lt;br /&gt;
| Incorrect audio device or blocked RTP traffic.&lt;br /&gt;
| Verify the microphone, speaker, firewall, and RTP settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''One-way audio'''&lt;br /&gt;
| NAT or firewall issue.&lt;br /&gt;
| Review STUN configuration and RTP connectivity.&lt;br /&gt;
|-&lt;br /&gt;
| '''Poor audio quality'''&lt;br /&gt;
| Network instability or audio device issues.&lt;br /&gt;
| Check latency, packet loss, and audio device settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''DTMF not working'''&lt;br /&gt;
| Incompatible DTMF configuration.&lt;br /&gt;
| Verify the DTMF settings on both the subaccount and the application.&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration disconnects'''&lt;br /&gt;
| Network instability or SIP connectivity issue.&lt;br /&gt;
| Check internet connectivity, firewall rules, and SIP registration settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''No incoming ringtone'''&lt;br /&gt;
| Incorrect ring device.&lt;br /&gt;
| Verify the Ring Device under Settings → Devices.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Verify Registration Status ===&lt;br /&gt;
&lt;br /&gt;
You can verify whether your subaccount is registered through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
If SipWarp displays '''Online''' but incoming calls do not arrive, review the DID routing configuration and POP assignment.&lt;br /&gt;
&lt;br /&gt;
=== Verify Firewall and NAT Settings ===&lt;br /&gt;
&lt;br /&gt;
If SIP registration is successful but audio is missing, investigate possible firewall or NAT issues.&lt;br /&gt;
&lt;br /&gt;
The problem may involve RTP traffic rather than SIP registration itself.&lt;br /&gt;
&lt;br /&gt;
Review the network configuration before making changes to firewall rules.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
For improved security, the following practices are recommended:&lt;br /&gt;
&lt;br /&gt;
* Use a dedicated SIP subaccount for SipWarp.&lt;br /&gt;
* Configure a strong and unique SIP password.&lt;br /&gt;
* Avoid sharing SIP credentials between devices.&lt;br /&gt;
* Restrict international calling when it is not required.&lt;br /&gt;
* Enable appropriate security restrictions in the VoIP.ms Customer Portal.&lt;br /&gt;
* Keep SipWarp and Windows updated.&lt;br /&gt;
* Protect locally stored SIP account information.&lt;br /&gt;
* Use encrypted SIP signaling and media only when both the application and provider are configured to support the selected encryption methods.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms supports SIP-TLS and SRTP. However, encrypted call functionality must be confirmed as compatible with the installed SipWarp version before enabling encryption on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
Enabling mandatory encrypted SIP traffic on the subaccount without a compatible client configuration may prevent successful registration or calling.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]].&lt;br /&gt;
&lt;br /&gt;
=== Local Application Data ===&lt;br /&gt;
&lt;br /&gt;
SipWarp stores its application configuration and related data in the following Windows directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%APPDATA%\SipWarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This directory may remain on the computer after the application is uninstalled.&lt;br /&gt;
&lt;br /&gt;
If removing SipWarp permanently, review this directory for any configuration files, contacts, or other application data that should be backed up or deleted.&lt;br /&gt;
&lt;br /&gt;
== Additional Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sipwarp.com/ SipWarp Official Website]&lt;br /&gt;
* [https://sipwarp.com/help/voipms.htm SipWarp - Connecting a SIP Account]&lt;br /&gt;
* [https://sipwarp.com/help/network.htm SipWarp - RTP and STUN Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/codecs.htm SipWarp - Audio Codecs]&lt;br /&gt;
* [https://sipwarp.com/help/carddav.htm SipWarp - CardDAV Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/sound.htm SipWarp - Audio Device Settings]&lt;br /&gt;
* [https://sipwarp.com/help/calls.htm SipWarp - Calls and Logs]&lt;br /&gt;
* [[Sub Accounts|VoIP.ms Subaccounts]]&lt;br /&gt;
* [[Servers|VoIP.ms Servers]]&lt;br /&gt;
* [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]]&lt;br /&gt;
* [[Softphones|VoIP.ms Softphones]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Softphones]]&lt;br /&gt;
[[Category:Windows]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:SipWarp-Account-Settings2.png</id>
		<title>File:SipWarp-Account-Settings2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:SipWarp-Account-Settings2.png"/>
				<updated>2026-10-23T15:32:00Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:SipWarp-Account-Settings.png</id>
		<title>File:SipWarp-Account-Settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:SipWarp-Account-Settings.png"/>
				<updated>2026-10-23T15:31:55Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/SipWarp</id>
		<title>SipWarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/SipWarp"/>
				<updated>2026-10-23T15:24:41Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:SipWarp-Logo.png|right|80px|thumb|SipWarp Logo]]&lt;br /&gt;
&lt;br /&gt;
= SipWarp =&lt;br /&gt;
&lt;br /&gt;
'''SipWarp''' is a free, lightweight SIP softphone for Windows that allows users to make and receive telephone calls directly from their computers using a compatible Voice over IP (VoIP) provider such as '''VoIP.ms'''.&lt;br /&gt;
&lt;br /&gt;
Developed using Rust, C, and Slint, SipWarp offers a modern and resource-efficient desktop interface designed for everyday VoIP communications.&lt;br /&gt;
&lt;br /&gt;
The application can operate in the Windows system tray, allowing users to remain available for incoming calls while working with other applications.&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several features, including:&lt;br /&gt;
&lt;br /&gt;
* SIP-based incoming and outgoing calls.&lt;br /&gt;
* Support for multiple audio codecs, including G.711, G.722, and Opus.&lt;br /&gt;
* CardDAV contact synchronization.&lt;br /&gt;
* CSV and VCF contact importing and exporting.&lt;br /&gt;
* Manual and automatic call recording.&lt;br /&gt;
* Custom WAV ringtones.&lt;br /&gt;
* Configurable microphones, speakers, and headsets.&lt;br /&gt;
* Call history and contact management.&lt;br /&gt;
* Windows system tray operation.&lt;br /&gt;
&lt;br /&gt;
'''Official Website:''' [https://sipwarp.com/ SipWarp]&lt;br /&gt;
&lt;br /&gt;
'''Supported Operating System:''' Windows&lt;br /&gt;
&lt;br /&gt;
'''Application Type:''' SIP Softphone&lt;br /&gt;
&lt;br /&gt;
'''Cost:''' Free&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Before configuring SipWarp with VoIP.ms, ensure that you have the following:&lt;br /&gt;
&lt;br /&gt;
* An active [https://voip.ms/ VoIP.ms account].&lt;br /&gt;
* A SIP subaccount configured in the VoIP.ms Customer Portal.&lt;br /&gt;
* SipWarp installed on a Windows computer.&lt;br /&gt;
* A stable internet connection.&lt;br /&gt;
* A microphone and speakers, or a compatible headset.&lt;br /&gt;
* An active DID (telephone number) if you intend to receive incoming calls from the public telephone network.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' A DID is not required for outgoing calls. However, you must configure a valid and authorized outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - Download and Install SipWarp ==&lt;br /&gt;
&lt;br /&gt;
# Visit the official SipWarp website at [https://sipwarp.com/ sipwarp.com].&lt;br /&gt;
# Click '''Download for Windows'''.&lt;br /&gt;
# Download the latest available version.&lt;br /&gt;
# Install or launch SipWarp according to the instructions provided with the download.&lt;br /&gt;
# Open the application.&lt;br /&gt;
&lt;br /&gt;
Once launched, SipWarp displays its main telephone interface, which includes a dial pad and call controls.&lt;br /&gt;
:[[File:SipWarp-Main-Interface.png|thumb|center|650px|SipWarp main interface showing the dial pad and call controls.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2 - Create a VoIP.ms Subaccount ==&lt;br /&gt;
&lt;br /&gt;
It is recommended to use a dedicated VoIP.ms SIP subaccount for SipWarp instead of configuring the primary account.&lt;br /&gt;
&lt;br /&gt;
This allows you to manage the application's credentials, Caller ID, and calling permissions independently from other devices.&lt;br /&gt;
&lt;br /&gt;
# Log in to the [https://voip.ms/m/login.php VoIP.ms Customer Portal].&lt;br /&gt;
# Navigate to '''Sub Accounts → Create Sub Account'''.&lt;br /&gt;
# Enter a descriptive username, such as &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Select '''SIP''' as the protocol.&lt;br /&gt;
# Select '''User/Password Authentication'''.&lt;br /&gt;
# Enter a strong and unique SIP password.&lt;br /&gt;
# Configure the appropriate '''Device Type''' and '''Caller ID Number'''.&lt;br /&gt;
# Review any required calling permissions.&lt;br /&gt;
# Save the subaccount.&lt;br /&gt;
&lt;br /&gt;
Your complete SIP username follows this format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
123456_sipwarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt; represents your VoIP.ms main account username.&lt;br /&gt;
* &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt; represents the name of your subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The full SIP username, including the underscore and subaccount name, must be entered in SipWarp.&lt;br /&gt;
&lt;br /&gt;
The SIP password is the password assigned to your subaccount, not the password used to access the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Sub Accounts|VoIP.ms Subaccounts]].&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Select a VoIP.ms Server ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms operates multiple Points of Presence (POPs) across North America and internationally.&lt;br /&gt;
&lt;br /&gt;
For optimal performance, select a server geographically close to your location or the server already assigned to your DID.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
montreal.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other examples include:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toronto.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;newyork.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;chicago.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the complete list of available servers, refer to [[Servers|VoIP.ms Servers]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The VoIP.ms server used for SIP registration must match the POP assigned to your DID for incoming calls to reach your device correctly.&lt;br /&gt;
&lt;br /&gt;
=== SIP Server Information ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| SIP Server / Registrar&lt;br /&gt;
| Your selected VoIP.ms POP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Port&lt;br /&gt;
| 5060&lt;br /&gt;
|-&lt;br /&gt;
| Transport Protocol&lt;br /&gt;
| UDP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| Authentication Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| SIP Password&lt;br /&gt;
| Your subaccount SIP password&lt;br /&gt;
|-&lt;br /&gt;
| SIP Domain&lt;br /&gt;
| Same as SIP Server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms also supports alternative SIP ports for compatible configurations. The default UDP port 5060 is sufficient for this guide.&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Configure the SIP Account in SipWarp ==&lt;br /&gt;
&lt;br /&gt;
After creating your VoIP.ms subaccount, open SipWarp and configure the SIP registration settings.&lt;br /&gt;
&lt;br /&gt;
# Open '''SipWarp'''.&lt;br /&gt;
# Click '''Account''' at the bottom of the application window.&lt;br /&gt;
# Enter your VoIP.ms SIP credentials.&lt;br /&gt;
# Configure the SIP server and connection settings.&lt;br /&gt;
# Click '''Save account'''.&lt;br /&gt;
# Wait for the registration status to change to '''Online'''.&lt;br /&gt;
&lt;br /&gt;
=== Account Configuration ===&lt;br /&gt;
&lt;br /&gt;
Use the following configuration as an example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! SipWarp Field&lt;br /&gt;
! Configuration&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Server'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| The VoIP.ms POP selected for your account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Domain'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| Use the same hostname as the SIP server.&lt;br /&gt;
|-&lt;br /&gt;
| '''Username'''&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
| Your complete VoIP.ms SIP subaccount username.&lt;br /&gt;
|-&lt;br /&gt;
| '''Password'''&lt;br /&gt;
| Your SIP subaccount password&lt;br /&gt;
| Password configured in the VoIP.ms Customer Portal.&lt;br /&gt;
|-&lt;br /&gt;
| '''Display Name'''&lt;br /&gt;
| Your name or business name&lt;br /&gt;
| Name used to identify the SIP account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Port'''&lt;br /&gt;
| 5060 or 0&lt;br /&gt;
| Port 0 allows SipWarp to use its default SIP port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Transport'''&lt;br /&gt;
| udp&lt;br /&gt;
| Standard SIP transport for this configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Replace the example values with your own VoIP.ms account information.&lt;br /&gt;
&lt;br /&gt;
When registration succeeds, SipWarp displays:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Online&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This indicates that the application has successfully registered with the VoIP.ms SIP server.&lt;br /&gt;
&lt;br /&gt;
If the application remains on '''Registering''', verify the SIP server address, username, password, and internet connectivity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Upload a screenshot of the SipWarp Account configuration window.&lt;br /&gt;
&lt;br /&gt;
Suggested filename: SipWarp-Account-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Account-Settings.png|thumb|center|650px|SipWarp SIP account configuration using VoIP.ms credentials.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Configure Audio Devices ==&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to select different audio devices for conversations and incoming call notifications.&lt;br /&gt;
&lt;br /&gt;
To configure your audio devices:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings'''.&lt;br /&gt;
# Select '''Devices'''.&lt;br /&gt;
# Choose the microphone you want to use.&lt;br /&gt;
# Select your preferred speaker or headset.&lt;br /&gt;
# Configure the device used for incoming call notifications.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
=== Audio Device Settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Microphone'''&lt;br /&gt;
| Selects the microphone used during calls.&lt;br /&gt;
|-&lt;br /&gt;
| '''Speaker / Headphones'''&lt;br /&gt;
| Selects the device used to hear the other party.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ring Device'''&lt;br /&gt;
| Selects the device that plays incoming call notifications.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ringtone File'''&lt;br /&gt;
| Allows you to select a custom WAV ringtone.&lt;br /&gt;
|-&lt;br /&gt;
| '''Local DTMF'''&lt;br /&gt;
| Plays a local keypad tone when pressing a digit.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to use separate devices for the ringtone and call audio.&lt;br /&gt;
&lt;br /&gt;
For example, incoming calls can ring through the computer speakers while conversations are handled through a USB headset.&lt;br /&gt;
&lt;br /&gt;
'''Recommendation:''' Using a USB headset can help reduce echo and background noise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Audio-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Audio-Settings.png|thumb|center|650px|SipWarp audio device configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Configure Network Settings ==&lt;br /&gt;
&lt;br /&gt;
SipWarp provides configurable RTP and STUN options to assist with SIP communications across networks using Network Address Translation (NAT).&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
'''Settings → Network'''&lt;br /&gt;
&lt;br /&gt;
=== Recommended Network Configuration ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Minimum Port'''&lt;br /&gt;
| 10001&lt;br /&gt;
| Starting UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Maximum Port'''&lt;br /&gt;
| 20000&lt;br /&gt;
| Ending UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Assists with identifying the public network address.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN Server'''&lt;br /&gt;
| stun.voip.ms&lt;br /&gt;
| STUN server recommended for VoIP.ms.&lt;br /&gt;
|-&lt;br /&gt;
| '''rport'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps SIP responses reach the correct network address and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''DNS SRV'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Not normally required when using a specific VoIP.ms POP hostname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Understanding RTP ===&lt;br /&gt;
&lt;br /&gt;
SIP signaling is used to establish and manage telephone calls. The audio itself is carried separately using RTP (Real-time Transport Protocol).&lt;br /&gt;
&lt;br /&gt;
If an outgoing call connects but one or both parties cannot hear audio, the issue may be related to RTP connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Understanding STUN ===&lt;br /&gt;
&lt;br /&gt;
STUN (Session Traversal Utilities for NAT) allows SipWarp to discover the public-facing address used by the network.&lt;br /&gt;
&lt;br /&gt;
This can help resolve audio issues when the computer is located behind a router.&lt;br /&gt;
&lt;br /&gt;
The recommended STUN server is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stun.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' STUN does not resolve every type of NAT or firewall issue.&lt;br /&gt;
&lt;br /&gt;
=== Firewall and Port Forwarding ===&lt;br /&gt;
&lt;br /&gt;
Port forwarding is generally unnecessary when calls are working correctly.&lt;br /&gt;
&lt;br /&gt;
If calls connect but audio is missing, review the local firewall, router configuration, and RTP traffic.&lt;br /&gt;
&lt;br /&gt;
Avoid exposing unnecessary ports to the public internet. Any firewall or port-forwarding changes should be limited to what is required for the installation.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/network.htm SipWarp Network Configuration Guide].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Network-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Network-Settings.png|thumb|center|650px|SipWarp RTP and STUN configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Configure Audio Codecs ==&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several audio codecs that determine how voice is encoded and transmitted during calls.&lt;br /&gt;
&lt;br /&gt;
The application negotiates a compatible codec with the remote SIP endpoint based on the enabled codecs and their configured priority.&lt;br /&gt;
&lt;br /&gt;
For VoIP.ms, G.711u (PCMU) is recommended as the first codec.&lt;br /&gt;
&lt;br /&gt;
=== Recommended Codec Priority ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Priority&lt;br /&gt;
! Codec&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| '''G.711u (PCMU)'''&lt;br /&gt;
| Recommended for regular telephone calls in North America.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| '''G.722'''&lt;br /&gt;
| HD Call - Wideband audio for compatible SIP-to-SIP connections.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Both endpoints must support the negotiated codec.&lt;br /&gt;
&lt;br /&gt;
G.722 may provide improved audio quality on compatible SIP calls. However, it is not generally available for ordinary calls to the public telephone network.&lt;br /&gt;
&lt;br /&gt;
Opus support in SipWarp does not guarantee Opus interoperability with VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Additional Codec Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''VAD'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Prevents speech clipping caused by voice activity detection.&lt;br /&gt;
|-&lt;br /&gt;
| '''Echo Cancellation'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps reduce echo during conversations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Opus Stereo'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Stereo audio is generally unnecessary for telephone calls.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other available codecs may be left disabled unless specifically required.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/codecs.htm SipWarp Codec Documentation].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Codecs.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Codecs.png|thumb|center|650px|Recommended audio codec configuration for SipWarp.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Configure Incoming Calls ==&lt;br /&gt;
&lt;br /&gt;
To receive incoming calls through SipWarp, a VoIP.ms DID must be routed to the SIP subaccount configured in the application.&lt;br /&gt;
&lt;br /&gt;
# Log in to the '''VoIP.ms Customer Portal'''.&lt;br /&gt;
# Navigate to '''DID Numbers → Manage DID(s)'''.&lt;br /&gt;
# Locate the DID you want to configure.&lt;br /&gt;
# Click the edit icon.&lt;br /&gt;
# Under '''Routing''', select '''SIP/IAX'''.&lt;br /&gt;
# Choose the SIP subaccount associated with SipWarp.&lt;br /&gt;
# Verify that the DID's POP matches the SIP server configured in SipWarp.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
Once the DID is properly routed and SipWarp is registered, incoming calls should be delivered to the application.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If you intend to receive calls on multiple devices simultaneously, use separate SIP subaccounts and configure a VoIP.ms [[Ring Groups|Ring Group]].&lt;br /&gt;
&lt;br /&gt;
Registering multiple devices with the same SIP credentials is not recommended because it can cause registration conflicts.&lt;br /&gt;
&lt;br /&gt;
== Step 9 - Configure Outgoing Calls ==&lt;br /&gt;
&lt;br /&gt;
To place an outgoing call:&lt;br /&gt;
&lt;br /&gt;
# Open SipWarp.&lt;br /&gt;
# Enter the destination telephone number using the dial pad.&lt;br /&gt;
# Click '''Call'''.&lt;br /&gt;
# Wait for the call to connect.&lt;br /&gt;
&lt;br /&gt;
=== North American Dialing Format ===&lt;br /&gt;
&lt;br /&gt;
For calls to telephone numbers within the North American Numbering Plan, the following dialing format is recommended:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 + Area Code + Telephone Number&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13125551212&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For international calls, consult the [[Dialing Codes|VoIP.ms Dialing Codes]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Caller ID ===&lt;br /&gt;
&lt;br /&gt;
The outbound Caller ID is generally configured through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
When using a dedicated SIP subaccount:&lt;br /&gt;
&lt;br /&gt;
# Navigate to '''Sub Accounts → Manage Sub Accounts'''.&lt;br /&gt;
# Edit the SipWarp subaccount.&lt;br /&gt;
# Locate the '''CallerID Number''' setting.&lt;br /&gt;
# Select or configure an authorized outbound Caller ID.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
SipWarp may also send Caller ID information from the application, but this requires the appropriate configuration on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Only telephone numbers you own or are authorized to use should be configured as outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Test Your Configuration ==&lt;br /&gt;
&lt;br /&gt;
After completing the configuration, perform the following tests to confirm proper operation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Test&lt;br /&gt;
! Expected Result&lt;br /&gt;
|-&lt;br /&gt;
| SIP Registration&lt;br /&gt;
| SipWarp displays '''Online'''.&lt;br /&gt;
|-&lt;br /&gt;
| Outgoing Call&lt;br /&gt;
| Calls connect successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Incoming Call&lt;br /&gt;
| The assigned DID rings SipWarp.&lt;br /&gt;
|-&lt;br /&gt;
| Two-Way Audio&lt;br /&gt;
| Both parties can hear each other.&lt;br /&gt;
|-&lt;br /&gt;
| DTMF&lt;br /&gt;
| Keypad tones are properly recognized.&lt;br /&gt;
|-&lt;br /&gt;
| Caller ID&lt;br /&gt;
| The authorized outbound number is displayed.&lt;br /&gt;
|-&lt;br /&gt;
| Audio Devices&lt;br /&gt;
| The microphone and headset operate correctly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VoIP.ms Test Numbers ===&lt;br /&gt;
&lt;br /&gt;
VoIP.ms provides test numbers that can help verify your configuration.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''4443'''&lt;br /&gt;
| Echo test. Allows you to verify audio transmission and reception.&lt;br /&gt;
|-&lt;br /&gt;
| '''822'''&lt;br /&gt;
| Caller ID test.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The echo test is useful for identifying missing audio, one-way audio, or microphone-related issues.&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
=== Contact Management ===&lt;br /&gt;
&lt;br /&gt;
SipWarp includes contact management functionality.&lt;br /&gt;
&lt;br /&gt;
Contacts can be stored locally and imported or exported using common file formats.&lt;br /&gt;
&lt;br /&gt;
Supported formats include:&lt;br /&gt;
&lt;br /&gt;
* CSV (Comma-Separated Values)&lt;br /&gt;
* VCF (vCard)&lt;br /&gt;
&lt;br /&gt;
These features allow users to migrate contacts between compatible applications.&lt;br /&gt;
&lt;br /&gt;
=== CardDAV Synchronization ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports CardDAV, a protocol used to synchronize contact information between devices and applications.&lt;br /&gt;
&lt;br /&gt;
To configure CardDAV:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → CardDAV'''.&lt;br /&gt;
# Enter the CardDAV server URL.&lt;br /&gt;
# Enter the username and password associated with the CardDAV service.&lt;br /&gt;
# Click '''Test''' to verify connectivity.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Example CardDAV server URL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://contacts.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' CardDAV credentials are separate from your VoIP.ms SIP credentials.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/carddav.htm SipWarp CardDAV Documentation].&lt;br /&gt;
&lt;br /&gt;
=== Call Recording ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports manual and automatic call recording.&lt;br /&gt;
&lt;br /&gt;
To record an individual call, use the '''REC''' button during an active conversation.&lt;br /&gt;
&lt;br /&gt;
To enable automatic call recording:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Record all calls automatically'''.&lt;br /&gt;
# Enable the option.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Users are responsible for complying with applicable call recording, privacy, and consent requirements in their jurisdiction.&lt;br /&gt;
&lt;br /&gt;
=== Custom Ringtones ===&lt;br /&gt;
&lt;br /&gt;
SipWarp allows users to configure a custom WAV ringtone.&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Ringtone File'''.&lt;br /&gt;
# Select the desired WAV file.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
If no custom ringtone is configured, SipWarp uses its built-in ringtone.&lt;br /&gt;
&lt;br /&gt;
=== Background Operation ===&lt;br /&gt;
&lt;br /&gt;
SipWarp can continue running in the Windows system tray after its main window is closed.&lt;br /&gt;
&lt;br /&gt;
This allows the application to remain available for incoming calls.&lt;br /&gt;
&lt;br /&gt;
To reopen SipWarp, double-click its system tray icon.&lt;br /&gt;
&lt;br /&gt;
To completely close the application, right-click the system tray icon and select '''Exit'''.&lt;br /&gt;
&lt;br /&gt;
=== Launch at Windows Startup ===&lt;br /&gt;
&lt;br /&gt;
To start SipWarp automatically when signing in to Windows:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → App'''.&lt;br /&gt;
# Enable '''Run at startup'''.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The following table lists common issues and recommended troubleshooting steps.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Issue&lt;br /&gt;
! Possible Cause&lt;br /&gt;
! Recommended Solution&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration remains on Registering'''&lt;br /&gt;
| Incorrect SIP credentials or server.&lt;br /&gt;
| Verify the SIP username, password, server hostname, and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Cannot receive incoming calls'''&lt;br /&gt;
| Incorrect DID routing or POP mismatch.&lt;br /&gt;
| Verify that the DID routes to the correct subaccount and uses the same POP.&lt;br /&gt;
|-&lt;br /&gt;
| '''Outgoing calls fail'''&lt;br /&gt;
| Incorrect dialing format or Caller ID configuration.&lt;br /&gt;
| Verify the destination number, Caller ID, and account balance.&lt;br /&gt;
|-&lt;br /&gt;
| '''No audio'''&lt;br /&gt;
| Incorrect audio device or blocked RTP traffic.&lt;br /&gt;
| Verify the microphone, speaker, firewall, and RTP settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''One-way audio'''&lt;br /&gt;
| NAT or firewall issue.&lt;br /&gt;
| Review STUN configuration and RTP connectivity.&lt;br /&gt;
|-&lt;br /&gt;
| '''Poor audio quality'''&lt;br /&gt;
| Network instability or audio device issues.&lt;br /&gt;
| Check latency, packet loss, and audio device settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''DTMF not working'''&lt;br /&gt;
| Incompatible DTMF configuration.&lt;br /&gt;
| Verify the DTMF settings on both the subaccount and the application.&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration disconnects'''&lt;br /&gt;
| Network instability or SIP connectivity issue.&lt;br /&gt;
| Check internet connectivity, firewall rules, and SIP registration settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''No incoming ringtone'''&lt;br /&gt;
| Incorrect ring device.&lt;br /&gt;
| Verify the Ring Device under Settings → Devices.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Verify Registration Status ===&lt;br /&gt;
&lt;br /&gt;
You can verify whether your subaccount is registered through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
If SipWarp displays '''Online''' but incoming calls do not arrive, review the DID routing configuration and POP assignment.&lt;br /&gt;
&lt;br /&gt;
=== Verify Firewall and NAT Settings ===&lt;br /&gt;
&lt;br /&gt;
If SIP registration is successful but audio is missing, investigate possible firewall or NAT issues.&lt;br /&gt;
&lt;br /&gt;
The problem may involve RTP traffic rather than SIP registration itself.&lt;br /&gt;
&lt;br /&gt;
Review the network configuration before making changes to firewall rules.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
For improved security, the following practices are recommended:&lt;br /&gt;
&lt;br /&gt;
* Use a dedicated SIP subaccount for SipWarp.&lt;br /&gt;
* Configure a strong and unique SIP password.&lt;br /&gt;
* Avoid sharing SIP credentials between devices.&lt;br /&gt;
* Restrict international calling when it is not required.&lt;br /&gt;
* Enable appropriate security restrictions in the VoIP.ms Customer Portal.&lt;br /&gt;
* Keep SipWarp and Windows updated.&lt;br /&gt;
* Protect locally stored SIP account information.&lt;br /&gt;
* Use encrypted SIP signaling and media only when both the application and provider are configured to support the selected encryption methods.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms supports SIP-TLS and SRTP. However, encrypted call functionality must be confirmed as compatible with the installed SipWarp version before enabling encryption on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
Enabling mandatory encrypted SIP traffic on the subaccount without a compatible client configuration may prevent successful registration or calling.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]].&lt;br /&gt;
&lt;br /&gt;
=== Local Application Data ===&lt;br /&gt;
&lt;br /&gt;
SipWarp stores its application configuration and related data in the following Windows directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%APPDATA%\SipWarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This directory may remain on the computer after the application is uninstalled.&lt;br /&gt;
&lt;br /&gt;
If removing SipWarp permanently, review this directory for any configuration files, contacts, or other application data that should be backed up or deleted.&lt;br /&gt;
&lt;br /&gt;
== Additional Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sipwarp.com/ SipWarp Official Website]&lt;br /&gt;
* [https://sipwarp.com/help/voipms.htm SipWarp - Connecting a SIP Account]&lt;br /&gt;
* [https://sipwarp.com/help/network.htm SipWarp - RTP and STUN Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/codecs.htm SipWarp - Audio Codecs]&lt;br /&gt;
* [https://sipwarp.com/help/carddav.htm SipWarp - CardDAV Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/sound.htm SipWarp - Audio Device Settings]&lt;br /&gt;
* [https://sipwarp.com/help/calls.htm SipWarp - Calls and Logs]&lt;br /&gt;
* [[Sub Accounts|VoIP.ms Subaccounts]]&lt;br /&gt;
* [[Servers|VoIP.ms Servers]]&lt;br /&gt;
* [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]]&lt;br /&gt;
* [[Softphones|VoIP.ms Softphones]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Softphones]]&lt;br /&gt;
[[Category:Windows]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:SipWarp-Main-Interface.png</id>
		<title>File:SipWarp-Main-Interface.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:SipWarp-Main-Interface.png"/>
				<updated>2026-10-23T15:21:13Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/SipWarp</id>
		<title>SipWarp</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/SipWarp"/>
				<updated>2026-10-23T15:18:07Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: Created page with &amp;quot;__TOC__  SipWarp Logo  = SipWarp =  '''SipWarp''' is a free, lightweight SIP softphone for Windows that allows users to make and receiv...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Logo.png|right|80px|thumb|SipWarp Logo]]&lt;br /&gt;
&lt;br /&gt;
= SipWarp =&lt;br /&gt;
&lt;br /&gt;
'''SipWarp''' is a free, lightweight SIP softphone for Windows that allows users to make and receive telephone calls directly from their computers using a compatible Voice over IP (VoIP) provider such as '''VoIP.ms'''.&lt;br /&gt;
&lt;br /&gt;
Developed using Rust, C, and Slint, SipWarp offers a modern and resource-efficient desktop interface designed for everyday VoIP communications.&lt;br /&gt;
&lt;br /&gt;
The application can operate in the Windows system tray, allowing users to remain available for incoming calls while working with other applications.&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several features, including:&lt;br /&gt;
&lt;br /&gt;
* SIP-based incoming and outgoing calls.&lt;br /&gt;
* Support for multiple audio codecs, including G.711, G.722, and Opus.&lt;br /&gt;
* CardDAV contact synchronization.&lt;br /&gt;
* CSV and VCF contact importing and exporting.&lt;br /&gt;
* Manual and automatic call recording.&lt;br /&gt;
* Custom WAV ringtones.&lt;br /&gt;
* Configurable microphones, speakers, and headsets.&lt;br /&gt;
* Call history and contact management.&lt;br /&gt;
* Windows system tray operation.&lt;br /&gt;
&lt;br /&gt;
'''Official Website:''' [https://sipwarp.com/ SipWarp]&lt;br /&gt;
&lt;br /&gt;
'''Supported Operating System:''' Windows&lt;br /&gt;
&lt;br /&gt;
'''Application Type:''' SIP Softphone&lt;br /&gt;
&lt;br /&gt;
'''Cost:''' Free&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Before configuring SipWarp with VoIP.ms, ensure that you have the following:&lt;br /&gt;
&lt;br /&gt;
* An active [https://voip.ms/ VoIP.ms account].&lt;br /&gt;
* A SIP subaccount configured in the VoIP.ms Customer Portal.&lt;br /&gt;
* SipWarp installed on a Windows computer.&lt;br /&gt;
* A stable internet connection.&lt;br /&gt;
* A microphone and speakers, or a compatible headset.&lt;br /&gt;
* An active DID (telephone number) if you intend to receive incoming calls from the public telephone network.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' A DID is not required for outgoing calls. However, you must configure a valid and authorized outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - Download and Install SipWarp ==&lt;br /&gt;
&lt;br /&gt;
# Visit the official SipWarp website at [https://sipwarp.com/ sipwarp.com].&lt;br /&gt;
# Click '''Download for Windows'''.&lt;br /&gt;
# Download the latest available version.&lt;br /&gt;
# Install or launch SipWarp according to the instructions provided with the download.&lt;br /&gt;
# Open the application.&lt;br /&gt;
&lt;br /&gt;
Once launched, SipWarp displays its main telephone interface, which includes a dial pad and call controls.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Upload a screenshot of the SipWarp main application window.&lt;br /&gt;
Suggested filename: SipWarp-Main-Interface.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Main-Interface.png|thumb|center|650px|SipWarp main interface showing the dial pad and call controls.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 2 - Create a VoIP.ms Subaccount ==&lt;br /&gt;
&lt;br /&gt;
It is recommended to use a dedicated VoIP.ms SIP subaccount for SipWarp instead of configuring the primary account.&lt;br /&gt;
&lt;br /&gt;
This allows you to manage the application's credentials, Caller ID, and calling permissions independently from other devices.&lt;br /&gt;
&lt;br /&gt;
# Log in to the [https://voip.ms/m/login.php VoIP.ms Customer Portal].&lt;br /&gt;
# Navigate to '''Sub Accounts → Create Sub Account'''.&lt;br /&gt;
# Enter a descriptive username, such as &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Select '''SIP''' as the protocol.&lt;br /&gt;
# Select '''User/Password Authentication'''.&lt;br /&gt;
# Enter a strong and unique SIP password.&lt;br /&gt;
# Configure the appropriate '''Device Type''' and '''Caller ID Number'''.&lt;br /&gt;
# Review any required calling permissions.&lt;br /&gt;
# Save the subaccount.&lt;br /&gt;
&lt;br /&gt;
Your complete SIP username follows this format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
123456_sipwarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;123456&amp;lt;/code&amp;gt; represents your VoIP.ms main account username.&lt;br /&gt;
* &amp;lt;code&amp;gt;sipwarp&amp;lt;/code&amp;gt; represents the name of your subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The full SIP username, including the underscore and subaccount name, must be entered in SipWarp.&lt;br /&gt;
&lt;br /&gt;
The SIP password is the password assigned to your subaccount, not the password used to access the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Sub Accounts|VoIP.ms Subaccounts]].&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Select a VoIP.ms Server ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms operates multiple Points of Presence (POPs) across North America and internationally.&lt;br /&gt;
&lt;br /&gt;
For optimal performance, select a server geographically close to your location or the server already assigned to your DID.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
montreal.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other examples include:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toronto.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;newyork.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;chicago.voip.ms&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the complete list of available servers, refer to [[Servers|VoIP.ms Servers]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' The VoIP.ms server used for SIP registration must match the POP assigned to your DID for incoming calls to reach your device correctly.&lt;br /&gt;
&lt;br /&gt;
=== SIP Server Information ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| SIP Server / Registrar&lt;br /&gt;
| Your selected VoIP.ms POP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Port&lt;br /&gt;
| 5060&lt;br /&gt;
|-&lt;br /&gt;
| Transport Protocol&lt;br /&gt;
| UDP&lt;br /&gt;
|-&lt;br /&gt;
| SIP Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| Authentication Username&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
|-&lt;br /&gt;
| SIP Password&lt;br /&gt;
| Your subaccount SIP password&lt;br /&gt;
|-&lt;br /&gt;
| SIP Domain&lt;br /&gt;
| Same as SIP Server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms also supports alternative SIP ports for compatible configurations. The default UDP port 5060 is sufficient for this guide.&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Configure the SIP Account in SipWarp ==&lt;br /&gt;
&lt;br /&gt;
After creating your VoIP.ms subaccount, open SipWarp and configure the SIP registration settings.&lt;br /&gt;
&lt;br /&gt;
# Open '''SipWarp'''.&lt;br /&gt;
# Click '''Account''' at the bottom of the application window.&lt;br /&gt;
# Enter your VoIP.ms SIP credentials.&lt;br /&gt;
# Configure the SIP server and connection settings.&lt;br /&gt;
# Click '''Save account'''.&lt;br /&gt;
# Wait for the registration status to change to '''Online'''.&lt;br /&gt;
&lt;br /&gt;
=== Account Configuration ===&lt;br /&gt;
&lt;br /&gt;
Use the following configuration as an example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! SipWarp Field&lt;br /&gt;
! Configuration&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Server'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| The VoIP.ms POP selected for your account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Domain'''&lt;br /&gt;
| montreal.voip.ms&lt;br /&gt;
| Use the same hostname as the SIP server.&lt;br /&gt;
|-&lt;br /&gt;
| '''Username'''&lt;br /&gt;
| 123456_sipwarp&lt;br /&gt;
| Your complete VoIP.ms SIP subaccount username.&lt;br /&gt;
|-&lt;br /&gt;
| '''Password'''&lt;br /&gt;
| Your SIP subaccount password&lt;br /&gt;
| Password configured in the VoIP.ms Customer Portal.&lt;br /&gt;
|-&lt;br /&gt;
| '''Display Name'''&lt;br /&gt;
| Your name or business name&lt;br /&gt;
| Name used to identify the SIP account.&lt;br /&gt;
|-&lt;br /&gt;
| '''Port'''&lt;br /&gt;
| 5060 or 0&lt;br /&gt;
| Port 0 allows SipWarp to use its default SIP port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Transport'''&lt;br /&gt;
| udp&lt;br /&gt;
| Standard SIP transport for this configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Replace the example values with your own VoIP.ms account information.&lt;br /&gt;
&lt;br /&gt;
When registration succeeds, SipWarp displays:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Online&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This indicates that the application has successfully registered with the VoIP.ms SIP server.&lt;br /&gt;
&lt;br /&gt;
If the application remains on '''Registering''', verify the SIP server address, username, password, and internet connectivity.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Upload a screenshot of the SipWarp Account configuration window.&lt;br /&gt;
&lt;br /&gt;
Suggested filename: SipWarp-Account-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Account-Settings.png|thumb|center|650px|SipWarp SIP account configuration using VoIP.ms credentials.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Configure Audio Devices ==&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to select different audio devices for conversations and incoming call notifications.&lt;br /&gt;
&lt;br /&gt;
To configure your audio devices:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings'''.&lt;br /&gt;
# Select '''Devices'''.&lt;br /&gt;
# Choose the microphone you want to use.&lt;br /&gt;
# Select your preferred speaker or headset.&lt;br /&gt;
# Configure the device used for incoming call notifications.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
=== Audio Device Settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''Microphone'''&lt;br /&gt;
| Selects the microphone used during calls.&lt;br /&gt;
|-&lt;br /&gt;
| '''Speaker / Headphones'''&lt;br /&gt;
| Selects the device used to hear the other party.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ring Device'''&lt;br /&gt;
| Selects the device that plays incoming call notifications.&lt;br /&gt;
|-&lt;br /&gt;
| '''Ringtone File'''&lt;br /&gt;
| Allows you to select a custom WAV ringtone.&lt;br /&gt;
|-&lt;br /&gt;
| '''Local DTMF'''&lt;br /&gt;
| Plays a local keypad tone when pressing a digit.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SipWarp allows you to use separate devices for the ringtone and call audio.&lt;br /&gt;
&lt;br /&gt;
For example, incoming calls can ring through the computer speakers while conversations are handled through a USB headset.&lt;br /&gt;
&lt;br /&gt;
'''Recommendation:''' Using a USB headset can help reduce echo and background noise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Audio-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Audio-Settings.png|thumb|center|650px|SipWarp audio device configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Configure Network Settings ==&lt;br /&gt;
&lt;br /&gt;
SipWarp provides configurable RTP and STUN options to assist with SIP communications across networks using Network Address Translation (NAT).&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
'''Settings → Network'''&lt;br /&gt;
&lt;br /&gt;
=== Recommended Network Configuration ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Minimum Port'''&lt;br /&gt;
| 10001&lt;br /&gt;
| Starting UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''RTP Maximum Port'''&lt;br /&gt;
| 20000&lt;br /&gt;
| Ending UDP port for RTP audio.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Assists with identifying the public network address.&lt;br /&gt;
|-&lt;br /&gt;
| '''STUN Server'''&lt;br /&gt;
| stun.voip.ms&lt;br /&gt;
| STUN server recommended for VoIP.ms.&lt;br /&gt;
|-&lt;br /&gt;
| '''rport'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps SIP responses reach the correct network address and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''DNS SRV'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Not normally required when using a specific VoIP.ms POP hostname.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Understanding RTP ===&lt;br /&gt;
&lt;br /&gt;
SIP signaling is used to establish and manage telephone calls. The audio itself is carried separately using RTP (Real-time Transport Protocol).&lt;br /&gt;
&lt;br /&gt;
If an outgoing call connects but one or both parties cannot hear audio, the issue may be related to RTP connectivity.&lt;br /&gt;
&lt;br /&gt;
=== Understanding STUN ===&lt;br /&gt;
&lt;br /&gt;
STUN (Session Traversal Utilities for NAT) allows SipWarp to discover the public-facing address used by the network.&lt;br /&gt;
&lt;br /&gt;
This can help resolve audio issues when the computer is located behind a router.&lt;br /&gt;
&lt;br /&gt;
The recommended STUN server is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
stun.voip.ms&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' STUN does not resolve every type of NAT or firewall issue.&lt;br /&gt;
&lt;br /&gt;
=== Firewall and Port Forwarding ===&lt;br /&gt;
&lt;br /&gt;
Port forwarding is generally unnecessary when calls are working correctly.&lt;br /&gt;
&lt;br /&gt;
If calls connect but audio is missing, review the local firewall, router configuration, and RTP traffic.&lt;br /&gt;
&lt;br /&gt;
Avoid exposing unnecessary ports to the public internet. Any firewall or port-forwarding changes should be limited to what is required for the installation.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/network.htm SipWarp Network Configuration Guide].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Network-Settings.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Network-Settings.png|thumb|center|650px|SipWarp RTP and STUN configuration.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Configure Audio Codecs ==&lt;br /&gt;
&lt;br /&gt;
SipWarp supports several audio codecs that determine how voice is encoded and transmitted during calls.&lt;br /&gt;
&lt;br /&gt;
The application negotiates a compatible codec with the remote SIP endpoint based on the enabled codecs and their configured priority.&lt;br /&gt;
&lt;br /&gt;
For VoIP.ms, G.711u (PCMU) is recommended as the first codec.&lt;br /&gt;
&lt;br /&gt;
=== Recommended Codec Priority ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Priority&lt;br /&gt;
! Codec&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| '''G.711u (PCMU)'''&lt;br /&gt;
| Recommended for regular telephone calls in North America.&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| '''G.711A (PCMA)'''&lt;br /&gt;
| Commonly used in international telephone networks.&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| '''G.722'''&lt;br /&gt;
| Wideband audio for compatible SIP-to-SIP connections.&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| '''Opus'''&lt;br /&gt;
| Modern audio codec for compatible SIP applications and services.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Both endpoints must support the negotiated codec.&lt;br /&gt;
&lt;br /&gt;
G.722 may provide improved audio quality on compatible SIP calls. However, it is not generally available for ordinary calls to the public telephone network.&lt;br /&gt;
&lt;br /&gt;
Opus support in SipWarp does not guarantee Opus interoperability with VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Additional Codec Options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Recommended Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''VAD'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Prevents speech clipping caused by voice activity detection.&lt;br /&gt;
|-&lt;br /&gt;
| '''Echo Cancellation'''&lt;br /&gt;
| Enabled&lt;br /&gt;
| Helps reduce echo during conversations.&lt;br /&gt;
|-&lt;br /&gt;
| '''Opus Stereo'''&lt;br /&gt;
| Disabled&lt;br /&gt;
| Stereo audio is generally unnecessary for telephone calls.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other available codecs may be left disabled unless specifically required.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/codecs.htm SipWarp Codec Documentation].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SCREENSHOT REQUIRED:&lt;br /&gt;
Suggested filename: SipWarp-Codecs.png&lt;br /&gt;
&lt;br /&gt;
[[File:SipWarp-Codecs.png|thumb|center|650px|Recommended audio codec configuration for SipWarp.]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Configure Incoming Calls ==&lt;br /&gt;
&lt;br /&gt;
To receive incoming calls through SipWarp, a VoIP.ms DID must be routed to the SIP subaccount configured in the application.&lt;br /&gt;
&lt;br /&gt;
# Log in to the '''VoIP.ms Customer Portal'''.&lt;br /&gt;
# Navigate to '''DID Numbers → Manage DID(s)'''.&lt;br /&gt;
# Locate the DID you want to configure.&lt;br /&gt;
# Click the edit icon.&lt;br /&gt;
# Under '''Routing''', select '''SIP/IAX'''.&lt;br /&gt;
# Choose the SIP subaccount associated with SipWarp.&lt;br /&gt;
# Verify that the DID's POP matches the SIP server configured in SipWarp.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
Once the DID is properly routed and SipWarp is registered, incoming calls should be delivered to the application.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If you intend to receive calls on multiple devices simultaneously, use separate SIP subaccounts and configure a VoIP.ms [[Ring Groups|Ring Group]].&lt;br /&gt;
&lt;br /&gt;
Registering multiple devices with the same SIP credentials is not recommended because it can cause registration conflicts.&lt;br /&gt;
&lt;br /&gt;
== Step 9 - Configure Outgoing Calls ==&lt;br /&gt;
&lt;br /&gt;
To place an outgoing call:&lt;br /&gt;
&lt;br /&gt;
# Open SipWarp.&lt;br /&gt;
# Enter the destination telephone number using the dial pad.&lt;br /&gt;
# Click '''Call'''.&lt;br /&gt;
# Wait for the call to connect.&lt;br /&gt;
&lt;br /&gt;
=== North American Dialing Format ===&lt;br /&gt;
&lt;br /&gt;
For calls to telephone numbers within the North American Numbering Plan, the following dialing format is recommended:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 + Area Code + Telephone Number&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
13125551212&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For international calls, consult the [[Dialing Codes|VoIP.ms Dialing Codes]] documentation.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Caller ID ===&lt;br /&gt;
&lt;br /&gt;
The outbound Caller ID is generally configured through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
When using a dedicated SIP subaccount:&lt;br /&gt;
&lt;br /&gt;
# Navigate to '''Sub Accounts → Manage Sub Accounts'''.&lt;br /&gt;
# Edit the SipWarp subaccount.&lt;br /&gt;
# Locate the '''CallerID Number''' setting.&lt;br /&gt;
# Select or configure an authorized outbound Caller ID.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
SipWarp may also send Caller ID information from the application, but this requires the appropriate configuration on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Only telephone numbers you own or are authorized to use should be configured as outbound Caller ID.&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Test Your Configuration ==&lt;br /&gt;
&lt;br /&gt;
After completing the configuration, perform the following tests to confirm proper operation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Test&lt;br /&gt;
! Expected Result&lt;br /&gt;
|-&lt;br /&gt;
| SIP Registration&lt;br /&gt;
| SipWarp displays '''Online'''.&lt;br /&gt;
|-&lt;br /&gt;
| Outgoing Call&lt;br /&gt;
| Calls connect successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Incoming Call&lt;br /&gt;
| The assigned DID rings SipWarp.&lt;br /&gt;
|-&lt;br /&gt;
| Two-Way Audio&lt;br /&gt;
| Both parties can hear each other.&lt;br /&gt;
|-&lt;br /&gt;
| DTMF&lt;br /&gt;
| Keypad tones are properly recognized.&lt;br /&gt;
|-&lt;br /&gt;
| Caller ID&lt;br /&gt;
| The authorized outbound number is displayed.&lt;br /&gt;
|-&lt;br /&gt;
| Audio Devices&lt;br /&gt;
| The microphone and headset operate correctly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VoIP.ms Test Numbers ===&lt;br /&gt;
&lt;br /&gt;
VoIP.ms provides test numbers that can help verify your configuration.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Number&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| '''4443'''&lt;br /&gt;
| Echo test. Allows you to verify audio transmission and reception.&lt;br /&gt;
|-&lt;br /&gt;
| '''822'''&lt;br /&gt;
| Caller ID test.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The echo test is useful for identifying missing audio, one-way audio, or microphone-related issues.&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
=== Contact Management ===&lt;br /&gt;
&lt;br /&gt;
SipWarp includes contact management functionality.&lt;br /&gt;
&lt;br /&gt;
Contacts can be stored locally and imported or exported using common file formats.&lt;br /&gt;
&lt;br /&gt;
Supported formats include:&lt;br /&gt;
&lt;br /&gt;
* CSV (Comma-Separated Values)&lt;br /&gt;
* VCF (vCard)&lt;br /&gt;
&lt;br /&gt;
These features allow users to migrate contacts between compatible applications.&lt;br /&gt;
&lt;br /&gt;
=== CardDAV Synchronization ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports CardDAV, a protocol used to synchronize contact information between devices and applications.&lt;br /&gt;
&lt;br /&gt;
To configure CardDAV:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → CardDAV'''.&lt;br /&gt;
# Enter the CardDAV server URL.&lt;br /&gt;
# Enter the username and password associated with the CardDAV service.&lt;br /&gt;
# Click '''Test''' to verify connectivity.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Example CardDAV server URL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://contacts.example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' CardDAV credentials are separate from your VoIP.ms SIP credentials.&lt;br /&gt;
&lt;br /&gt;
For additional details, refer to the [https://sipwarp.com/help/carddav.htm SipWarp CardDAV Documentation].&lt;br /&gt;
&lt;br /&gt;
=== Call Recording ===&lt;br /&gt;
&lt;br /&gt;
SipWarp supports manual and automatic call recording.&lt;br /&gt;
&lt;br /&gt;
To record an individual call, use the '''REC''' button during an active conversation.&lt;br /&gt;
&lt;br /&gt;
To enable automatic call recording:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Record all calls automatically'''.&lt;br /&gt;
# Enable the option.&lt;br /&gt;
# Save your changes.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Users are responsible for complying with applicable call recording, privacy, and consent requirements in their jurisdiction.&lt;br /&gt;
&lt;br /&gt;
=== Custom Ringtones ===&lt;br /&gt;
&lt;br /&gt;
SipWarp allows users to configure a custom WAV ringtone.&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → Devices'''.&lt;br /&gt;
# Locate '''Ringtone File'''.&lt;br /&gt;
# Select the desired WAV file.&lt;br /&gt;
# Save your configuration.&lt;br /&gt;
&lt;br /&gt;
If no custom ringtone is configured, SipWarp uses its built-in ringtone.&lt;br /&gt;
&lt;br /&gt;
=== Background Operation ===&lt;br /&gt;
&lt;br /&gt;
SipWarp can continue running in the Windows system tray after its main window is closed.&lt;br /&gt;
&lt;br /&gt;
This allows the application to remain available for incoming calls.&lt;br /&gt;
&lt;br /&gt;
To reopen SipWarp, double-click its system tray icon.&lt;br /&gt;
&lt;br /&gt;
To completely close the application, right-click the system tray icon and select '''Exit'''.&lt;br /&gt;
&lt;br /&gt;
=== Launch at Windows Startup ===&lt;br /&gt;
&lt;br /&gt;
To start SipWarp automatically when signing in to Windows:&lt;br /&gt;
&lt;br /&gt;
# Open '''Settings → App'''.&lt;br /&gt;
# Enable '''Run at startup'''.&lt;br /&gt;
# Save the configuration.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The following table lists common issues and recommended troubleshooting steps.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Issue&lt;br /&gt;
! Possible Cause&lt;br /&gt;
! Recommended Solution&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration remains on Registering'''&lt;br /&gt;
| Incorrect SIP credentials or server.&lt;br /&gt;
| Verify the SIP username, password, server hostname, and port.&lt;br /&gt;
|-&lt;br /&gt;
| '''Cannot receive incoming calls'''&lt;br /&gt;
| Incorrect DID routing or POP mismatch.&lt;br /&gt;
| Verify that the DID routes to the correct subaccount and uses the same POP.&lt;br /&gt;
|-&lt;br /&gt;
| '''Outgoing calls fail'''&lt;br /&gt;
| Incorrect dialing format or Caller ID configuration.&lt;br /&gt;
| Verify the destination number, Caller ID, and account balance.&lt;br /&gt;
|-&lt;br /&gt;
| '''No audio'''&lt;br /&gt;
| Incorrect audio device or blocked RTP traffic.&lt;br /&gt;
| Verify the microphone, speaker, firewall, and RTP settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''One-way audio'''&lt;br /&gt;
| NAT or firewall issue.&lt;br /&gt;
| Review STUN configuration and RTP connectivity.&lt;br /&gt;
|-&lt;br /&gt;
| '''Poor audio quality'''&lt;br /&gt;
| Network instability or audio device issues.&lt;br /&gt;
| Check latency, packet loss, and audio device settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''DTMF not working'''&lt;br /&gt;
| Incompatible DTMF configuration.&lt;br /&gt;
| Verify the DTMF settings on both the subaccount and the application.&lt;br /&gt;
|-&lt;br /&gt;
| '''Registration disconnects'''&lt;br /&gt;
| Network instability or SIP connectivity issue.&lt;br /&gt;
| Check internet connectivity, firewall rules, and SIP registration settings.&lt;br /&gt;
|-&lt;br /&gt;
| '''No incoming ringtone'''&lt;br /&gt;
| Incorrect ring device.&lt;br /&gt;
| Verify the Ring Device under Settings → Devices.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Verify Registration Status ===&lt;br /&gt;
&lt;br /&gt;
You can verify whether your subaccount is registered through the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
If SipWarp displays '''Online''' but incoming calls do not arrive, review the DID routing configuration and POP assignment.&lt;br /&gt;
&lt;br /&gt;
=== Verify Firewall and NAT Settings ===&lt;br /&gt;
&lt;br /&gt;
If SIP registration is successful but audio is missing, investigate possible firewall or NAT issues.&lt;br /&gt;
&lt;br /&gt;
The problem may involve RTP traffic rather than SIP registration itself.&lt;br /&gt;
&lt;br /&gt;
Review the network configuration before making changes to firewall rules.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
For improved security, the following practices are recommended:&lt;br /&gt;
&lt;br /&gt;
* Use a dedicated SIP subaccount for SipWarp.&lt;br /&gt;
* Configure a strong and unique SIP password.&lt;br /&gt;
* Avoid sharing SIP credentials between devices.&lt;br /&gt;
* Restrict international calling when it is not required.&lt;br /&gt;
* Enable appropriate security restrictions in the VoIP.ms Customer Portal.&lt;br /&gt;
* Keep SipWarp and Windows updated.&lt;br /&gt;
* Protect locally stored SIP account information.&lt;br /&gt;
* Use encrypted SIP signaling and media only when both the application and provider are configured to support the selected encryption methods.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VoIP.ms supports SIP-TLS and SRTP. However, encrypted call functionality must be confirmed as compatible with the installed SipWarp version before enabling encryption on the VoIP.ms subaccount.&lt;br /&gt;
&lt;br /&gt;
Enabling mandatory encrypted SIP traffic on the subaccount without a compatible client configuration may prevent successful registration or calling.&lt;br /&gt;
&lt;br /&gt;
For more information, refer to [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]].&lt;br /&gt;
&lt;br /&gt;
=== Local Application Data ===&lt;br /&gt;
&lt;br /&gt;
SipWarp stores its application configuration and related data in the following Windows directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%APPDATA%\SipWarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This directory may remain on the computer after the application is uninstalled.&lt;br /&gt;
&lt;br /&gt;
If removing SipWarp permanently, review this directory for any configuration files, contacts, or other application data that should be backed up or deleted.&lt;br /&gt;
&lt;br /&gt;
== Additional Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://sipwarp.com/ SipWarp Official Website]&lt;br /&gt;
* [https://sipwarp.com/help/voipms.htm SipWarp - Connecting a SIP Account]&lt;br /&gt;
* [https://sipwarp.com/help/network.htm SipWarp - RTP and STUN Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/codecs.htm SipWarp - Audio Codecs]&lt;br /&gt;
* [https://sipwarp.com/help/carddav.htm SipWarp - CardDAV Configuration]&lt;br /&gt;
* [https://sipwarp.com/help/sound.htm SipWarp - Audio Device Settings]&lt;br /&gt;
* [https://sipwarp.com/help/calls.htm SipWarp - Calls and Logs]&lt;br /&gt;
* [[Sub Accounts|VoIP.ms Subaccounts]]&lt;br /&gt;
* [[Servers|VoIP.ms Servers]]&lt;br /&gt;
* [[Call Encryption - TLS/SRTP|VoIP.ms Call Encryption]]&lt;br /&gt;
* [[Softphones|VoIP.ms Softphones]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Softphones]]&lt;br /&gt;
[[Category:Windows]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:SipWarp-Logo.png</id>
		<title>File:SipWarp-Logo.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:SipWarp-Logo.png"/>
				<updated>2026-10-23T14:11:17Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: uploaded a new version of &amp;amp;quot;File:SipWarp-Logo.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:SipWarp-Logo.png</id>
		<title>File:SipWarp-Logo.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:SipWarp-Logo.png"/>
				<updated>2026-10-22T15:43:11Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-14T21:00:19Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Create or Edit a Gateway */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX'''. &lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit a Gateway =&lt;br /&gt;
Access your FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|650px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
==Settings tab==&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|600px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
==Advanced tab==&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|600px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
==Provider IPs tab==&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
::'''Note''': Adding the VoIP.ms IP ranges here automatically updates the gateway's access control list (ACL). No additional ACL configuration is required.&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|600px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
-----------------&amp;gt;&lt;br /&gt;
= Notes and Troubleshooting =&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-14T20:58:23Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Create or Edit the VoIP.ms Gateway */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX'''. &lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit a Gateway =&lt;br /&gt;
Access your FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
==Settings tab==&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
==Advanced tab==&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
==Provider IPs tab==&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
::'''Note''': Adding the VoIP.ms IP ranges here automatically updates the gateway's access control list (ACL). No additional ACL configuration is required.&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|600px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
-----------------&amp;gt;&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-14T20:57:04Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Create or Edit the VoIP.ms Gateway */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX'''. &lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
==Settings tab==&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
==Advanced tab==&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
==Provider IPs tab==&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
::'''Note''': Adding the VoIP.ms IP ranges here automatically updates the gateway's access control list (ACL). No additional ACL configuration is required.&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|600px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
-----------------&amp;gt;&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-14T20:54:47Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Access Control (ACL) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX'''. &lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
'''Note''': Adding the VoIP.ms IP ranges here automatically updates the gateway's access control list (ACL). No additional ACL configuration is required.&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|600px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
-----------------&amp;gt;&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-14T20:54:08Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX'''. &lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
'''Note''': Adding the VoIP.ms IP ranges here automatically updates the gateway's access control list (ACL). No additional ACL configuration is required.&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|600px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-14T20:52:17Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX'''. &lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
'''Note''': Adding the VoIP.ms IP ranges here automatically updates the gateway's access control list (ACL). No additional ACL configuration is required.&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|600px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
&amp;lt;-------------------&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
-------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-14T20:44:40Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Access Control (ACL) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX'''. &lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-13T22:17:58Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX'''. &lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-13T22:15:02Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Create or Edit the VoIP.ms Gateway */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX''' ''(FreeSWITCH)''. &lt;br /&gt;
&lt;br /&gt;
It also covers the recommended Access Control (ACL).&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-13T21:06:35Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Access Control (ACL) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX''' ''(FreeSWITCH)''. &lt;br /&gt;
&lt;br /&gt;
It also covers the recommended Access Control (ACL).&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FusionPBX/FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-13T21:06:23Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Access Control (ACL) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX''' ''(FreeSWITCH)''. &lt;br /&gt;
&lt;br /&gt;
It also covers the recommended Access Control (ACL).&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FusionPBX/FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''IP/CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|500px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|600px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-13T21:05:54Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Access Control (ACL) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX''' ''(FreeSWITCH)''. &lt;br /&gt;
&lt;br /&gt;
It also covers the recommended Access Control (ACL).&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FusionPBX/FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For enhanced security, we strongly recommend restricting SIP access to VoIP.ms IP ranges only.&lt;br /&gt;
'''Note''': If you selected '''Provider IPs''' tab while creating your Gateway, the VoIP.ms IP ranges should already be listed there.&lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FSPBX_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders.png|500px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png|500px|none|Access Control – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png</id>
		<title>File:FSPBX Advanced AccessControl editProviders ipRules.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:FSPBX_Advanced_AccessControl_editProviders_ipRules.png"/>
				<updated>2026-10-13T21:05:50Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:FSPBX_Advanced_AccessControl_editProviders.png</id>
		<title>File:FSPBX Advanced AccessControl editProviders.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:FSPBX_Advanced_AccessControl_editProviders.png"/>
				<updated>2026-10-13T21:04:57Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:FSPBX_access_controls_IP_AllowPoP.png</id>
		<title>File:FSPBX access controls IP AllowPoP.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:FSPBX_access_controls_IP_AllowPoP.png"/>
				<updated>2026-10-13T21:04:10Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:FSPBX_access_controls_menu.png</id>
		<title>File:FSPBX access controls menu.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:FSPBX_access_controls_menu.png"/>
				<updated>2026-10-13T21:03:55Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/FSPBX</id>
		<title>FSPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/FSPBX"/>
				<updated>2026-10-13T20:56:58Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: /* Create or Edit the VoIP.ms Gateway */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VoIPms_FSPBX.jpg|300px|right|link=https://www.fspbx.com//|FSPBX]]&lt;br /&gt;
&lt;br /&gt;
This guide explains how to configure a VoIP.ms SIP Gateway in '''FSPBX''' ''(FreeSWITCH)''. &lt;br /&gt;
&lt;br /&gt;
It also covers the recommended Access Control (ACL).&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
Before starting, make sure you have:&lt;br /&gt;
&lt;br /&gt;
:* An active VoIP.ms account&lt;br /&gt;
:* A Sub Account (SIP) created in the VoIP.ms portal&lt;br /&gt;
::* '''SIP Username''' (ex: ######_SubAccount)&lt;br /&gt;
::* '''SIP Password'''&lt;br /&gt;
::* '''Device Type''': ''Asterisk, IP PBX, Gateway or VoIP Switch''&lt;br /&gt;
::* '''CallerID Number''': ''I use a system capable of passing its own CallerID''&lt;br /&gt;
::* A selected VoIP.ms PoP for your DID ''(ex: montreal.voip.ms)''&lt;br /&gt;
&lt;br /&gt;
= Create or Edit the VoIP.ms Gateway =&lt;br /&gt;
Access your FusionPBX/FSPBX web interface:&lt;br /&gt;
: 1) Go to '''Accounts'''&lt;br /&gt;
: 2) Select '''Gateways'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
: 3) Click '''Create''' to create a new gateway&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_create.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 4) Click on the '''Settings''' tab&lt;br /&gt;
:* '''Proxy''': Enter the your Preferred PoPServer. '' Eg: montreal1.voip.ms''&lt;br /&gt;
:* '''Profile''': Select your profile&lt;br /&gt;
:* '''Context''': Enter your context&lt;br /&gt;
:* '''Register''': Select '''True'''&lt;br /&gt;
:* '''Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Password''': Enter your Sub-Account password&lt;br /&gt;
:* '''Expire Seconds''': 120&lt;br /&gt;
:* '''Retry Seconds''': 30&lt;br /&gt;
:* '''Description''': Enter a description for your note&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_settings.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: 5) Click on the '''Advanced''' tab&lt;br /&gt;
:* '''From User''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Realm''': Enter &amp;quot;voip.ms&amp;quot;&lt;br /&gt;
:* '''Auth Username''': Enter your Sub-Account username ######_SubAccount&lt;br /&gt;
:* '''Register Transport''': UDP or TCP&lt;br /&gt;
:* '''SIP CID Type''': Select &amp;quot;rpid&amp;quot;&lt;br /&gt;
:* '''Codec Preferences''': This must reflect your Sub-account, ensure you have the proper codec selected. 1&lt;br /&gt;
:* '''Ping''': 20&lt;br /&gt;
:* '''Domain''': Select your domain&lt;br /&gt;
:* '''Enabled''': YES&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_advanced.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
: 6) Click on the '''Provider IPs''' tab&lt;br /&gt;
:* Click '''[Add item]'''&lt;br /&gt;
:* Type: 208.100.60.0/24&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
:: [[File:FSPBX_Account_Gateway_ProviderIPs.png|500px|none|VoIP.ms Gateway configuration screen]]&lt;br /&gt;
&lt;br /&gt;
'''Note''': Verify registration status under '''Status''' → '''Gateways / Registrations'''&lt;br /&gt;
The gateway should show Registered&lt;br /&gt;
&lt;br /&gt;
= Access Control (ACL) =&lt;br /&gt;
For better security, it is strongly recommended to restrict SIP access to VoIP.ms IP ranges only. &lt;br /&gt;
&lt;br /&gt;
Access the Access Control Menu&lt;br /&gt;
:* Go to '''Advanced''' then '''Access Controls'''&lt;br /&gt;
:: [[File:FreeSwitch_access_controls_menu.png|500px|none|Advanced → Access Controls]]&lt;br /&gt;
&lt;br /&gt;
Create or Edit the '''&amp;quot;providers&amp;quot;''' and configure the ACL as follows:&lt;br /&gt;
:* '''Name''': providers&lt;br /&gt;
:* '''Default''': deny&lt;br /&gt;
&lt;br /&gt;
:* '''Add allow rules for VoIP.ms server IP ranges'''&lt;br /&gt;
''Example entry:''&lt;br /&gt;
:* '''Type''': allow&lt;br /&gt;
:* '''CIDR''': 208.100.60.0/24&lt;br /&gt;
:* '''Description''': ''Eg: &amp;quot;VoIP.ms POP Servers&amp;quot;''&lt;br /&gt;
: Click '''[Save]'''&lt;br /&gt;
&lt;br /&gt;
'''Important:'''&lt;br /&gt;
: VoIP.ms uses different IP ranges depending on the PoP.&lt;br /&gt;
: Make sure to add all required CIDR blocks for the PoP(s) you are using.&lt;br /&gt;
:: [[File:FreeSwitch_access_controls_IP_AllowPoP.png|500px|none|Access Control example – VoIP.ms IP ranges allowed]]&lt;br /&gt;
&lt;br /&gt;
== Notes and Troubleshooting ==&lt;br /&gt;
If the gateway does not register:&lt;br /&gt;
* Double-check Username / Password / Proxy (PoP)&lt;br /&gt;
* Ensure firewall and NAT allow UDP 5060 and RTP traffic&lt;br /&gt;
* Confirm your ACL includes the correct VoIP.ms IP ranges&lt;br /&gt;
&lt;br /&gt;
Inbound and outbound call routing is configured separately using:&lt;br /&gt;
* Dialplans&lt;br /&gt;
* Inbound Routes&lt;br /&gt;
* Outbound Routes&lt;br /&gt;
&lt;br /&gt;
= FSPBX SMS and MMS configuration =&lt;br /&gt;
&lt;br /&gt;
The following steps describe how to use your '''VoIP.ms''' account to deliver two-way SMS and MMS through '''FSPBX''', including inbound message handling, outbound delivery, and provider authentication. It assumes you have access to the FSPBX web interface and can edit the application environment on the server.&lt;br /&gt;
&lt;br /&gt;
== Required environment variables ==&lt;br /&gt;
&lt;br /&gt;
On the FSPBX host, add the following variables to your '''.env''' file:&lt;br /&gt;
&lt;br /&gt;
'''Variable description'''&lt;br /&gt;
:* '''VOIPMS_API_USERNAME''' – Your API username for authenticating to VoIP.ms from FSPBX. This is the '''same value as the email address''' associated with your VoIP.ms account.&lt;br /&gt;
:* '''VOIPMS_API_PASSWORD''' – Your API password, used together with the username for secure provider access.&lt;br /&gt;
&lt;br /&gt;
  Make sure you allowed your FSPBX IP address too.&lt;br /&gt;
&lt;br /&gt;
== Apply configuration changes ==&lt;br /&gt;
&lt;br /&gt;
After saving your '''.env''' file, run the following on the FSPBX server so the application loads the new settings:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;php artisan config:cache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Webhook configuration ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms delivers inbound SMS and MMS to FSPBX through a '''webhook'''. You must set the URL in the VoIP.ms customer portal so messages reach your FSPBX instance.&lt;br /&gt;
&lt;br /&gt;
: 1) Log in to your VoIP.ms account.&lt;br /&gt;
: 2) Go to '''DID Numbers''' → '''Manage DIDs''', then click '''Edit''' (the pencil icon) on the DID number that will receive SMS/MMS.&lt;br /&gt;
: 3) Enable SMS/MMS on that DID if it is not already enabled.&lt;br /&gt;
: 4) Set the '''inbound webhook URL''' to use '''POST''' with a '''JSON''' body. The path expected by FSPBX is:&lt;br /&gt;
:: &amp;lt;code&amp;gt;https://''your-domain''/webhook/voipms/sms&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Replace &amp;lt;code&amp;gt;''your-domain''&amp;lt;/code&amp;gt; with the public hostname (or FQDN) of your FSPBX installation.&lt;br /&gt;
: 5) Save your changes in the portal.&lt;br /&gt;
&lt;br /&gt;
== Enable SMS on a DID number in FSPBX ==&lt;br /&gt;
&lt;br /&gt;
After credentials and the webhook are in place:&lt;br /&gt;
&lt;br /&gt;
: 1) In FSPBX, go to '''Advanced''' → '''Message Settings'''.&lt;br /&gt;
: 2) Add or edit a number that is enabled for SMS.&lt;br /&gt;
: 3) Select '''VoIP.ms''' as the provider.&lt;br /&gt;
: 4) Assign the '''extension''' that should receive and send messages for that DID number.&lt;br /&gt;
: 5) Optionally set an email address for read-only notifications.&lt;br /&gt;
: 6) Save the configuration.&lt;br /&gt;
&lt;br /&gt;
Resulting flow:&lt;br /&gt;
&lt;br /&gt;
:* Inbound SMS/MMS → VoIP.ms → FSPBX → assigned extension&lt;br /&gt;
:* Replies → FSPBX → VoIP.ms → original sender&lt;br /&gt;
&lt;br /&gt;
== MMS support ==&lt;br /&gt;
&lt;br /&gt;
If your DID number supports MMS, FSPBX can process media attachments through the same messaging flow. Storing MMS media in FSPBX typically requires S3-compatible storage to be configured in the system; refer to the FSPBX documentation for message storage and MMS options.&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
* [https://www.fspbx.com/docs/intro/ FSPBX – Introduction]&lt;br /&gt;
* [https://www.fspbx.com/docs/configuration/messaging/voipms/ FSPBX – VoIP.ms SMS provider configuration]&lt;br /&gt;
* [https://www.fspbx.com/docs/trunk-providers/voipms/ FSPBX – VoIP.ms trunk provider]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:FSPBX_Account_Gateway_ProviderIPs.png</id>
		<title>File:FSPBX Account Gateway ProviderIPs.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:FSPBX_Account_Gateway_ProviderIPs.png"/>
				<updated>2026-10-13T20:56:21Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:FSPBX_Account_Gateway_advanced.png</id>
		<title>File:FSPBX Account Gateway advanced.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:FSPBX_Account_Gateway_advanced.png"/>
				<updated>2026-10-13T20:47:03Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:FSPBX_Account_Gateway_settings.png</id>
		<title>File:FSPBX Account Gateway settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:FSPBX_Account_Gateway_settings.png"/>
				<updated>2026-10-13T20:45:09Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:FSPBX_Account_Gateway_create.png</id>
		<title>File:FSPBX Account Gateway create.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:FSPBX_Account_Gateway_create.png"/>
				<updated>2026-10-13T20:09:47Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:FSPBX_Account_Gateway.png</id>
		<title>File:FSPBX Account Gateway.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:FSPBX_Account_Gateway.png"/>
				<updated>2026-10-13T20:07:52Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-VoIP-SIPEncryption.png</id>
		<title>File:VTScada-VoIP-SIPEncryption.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-VoIP-SIPEncryption.png"/>
				<updated>2026-10-01T15:34:57Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-logo-Wiki.png</id>
		<title>File:VTScada-logo-Wiki.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-logo-Wiki.png"/>
				<updated>2026-10-01T14:50:26Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/VTScada</id>
		<title>VTScada</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/VTScada"/>
				<updated>2026-10-01T14:49:42Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VTScada-logo-Wiki.png|right|200px]]&lt;br /&gt;
&lt;br /&gt;
'''VTScada''' is an industrial automation and SCADA platform developed by Trihedral. Among its alarm notification features, VTScada can use SIP-based Voice over IP (VoIP) services to place automated voice calls and, when supported, exchange SMS messages with alarm recipients.&lt;br /&gt;
&lt;br /&gt;
This article describes how to configure '''VTScada''' for use with [[VoIP.ms]].&lt;br /&gt;
&lt;br /&gt;
The configuration presented in this guide uses a dedicated VoIP.ms [[Sub Accounts|Sub Account]]. Although the Main Account may also be used, a dedicated Sub Account is recommended when possible because it provides separate SIP credentials and prevents registration conflicts with other SIP devices or applications.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VTScada is a third-party application and is not developed or maintained by VoIP.ms. Menu names and available options may vary between VTScada versions.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Before configuring VTScada, you should have:&lt;br /&gt;
&lt;br /&gt;
:* An active [[VoIP.ms]] account with available balance.&lt;br /&gt;
:* A VoIP.ms SIP account or preferably a dedicated [[Sub Accounts|Sub Account]].&lt;br /&gt;
:* A VoIP.ms [[Choosing Server|POP server]] selected for the connection.&lt;br /&gt;
:* A valid outbound Caller ID.&lt;br /&gt;
:* A DID number if incoming calls or SMS functionality will be used.&lt;br /&gt;
:* VTScada installed and configured with the Alarm Notification System.&lt;br /&gt;
:* Internet access from the VTScada workstation to the selected VoIP.ms POP.&lt;br /&gt;
&lt;br /&gt;
If SMS notifications or SMS acknowledgement will be used:&lt;br /&gt;
&lt;br /&gt;
:* The DID must support SMS.&lt;br /&gt;
:* SMS/MMS must be enabled for the DID.&lt;br /&gt;
:* Incoming SMS messages must be routed to the SIP account used by VTScada.&lt;br /&gt;
&lt;br /&gt;
== Creating a VoIP.ms Sub Account ==&lt;br /&gt;
&lt;br /&gt;
Although VTScada can be configured with the VoIP.ms Main Account, using a dedicated Sub Account is recommended.&lt;br /&gt;
&lt;br /&gt;
To create one:&lt;br /&gt;
&lt;br /&gt;
:1. Log in to the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
:2. Navigate to:&lt;br /&gt;
&lt;br /&gt;
::'''Sub Accounts → Create Sub Account'''&lt;br /&gt;
:: [[File:VTScada-VoIP-CreateSubAccountMenu.png|none]]&lt;br /&gt;
&lt;br /&gt;
:3. Configure the following basic options:&lt;br /&gt;
&lt;br /&gt;
::* '''Protocol:''' SIP&lt;br /&gt;
::* '''Authentication Type:''' User/Password Authentication&lt;br /&gt;
::* '''Username:''' Enter a name that identifies the VTScada system, for example:&lt;br /&gt;
:::&amp;lt;pre&amp;gt;vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
::* '''Password:''' Enter a strong and unique SIP password.&lt;br /&gt;
::* '''Caller ID Number:''' Select the DID or verified Caller ID that VTScada should present for outbound calls.&lt;br /&gt;
::* '''Encrypted SIP Traffic:''' Yes&lt;br /&gt;
The resulting SIP username will use the following format:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
:* '''123456''' represents your VoIP.ms account number.&lt;br /&gt;
:* '''vtscada''' represents the Sub Account username.&lt;br /&gt;
:: [[File:VTScada-VoIP-CreateSubAccount.png|none]]&lt;br /&gt;
Click '''Create Account''' to save the configuration.&lt;br /&gt;
&lt;br /&gt;
For additional information regarding Sub Accounts, refer to [[Sub Accounts]].&lt;br /&gt;
&lt;br /&gt;
== Selecting a VoIP.ms POP Server ==&lt;br /&gt;
&lt;br /&gt;
VTScada must register to one of the VoIP.ms SIP servers.&lt;br /&gt;
&lt;br /&gt;
Select a server that is geographically appropriate for the VTScada installation. For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same server should also be selected as the '''POP''' for any DID that will be routed directly to the VTScada SIP account.&lt;br /&gt;
&lt;br /&gt;
For more information about available servers, refer to [[Choosing Server|Choosing a Server]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If the DID is configured on a different POP than the server used by VTScada, incoming calls may not reach the application correctly.&lt;br /&gt;
&lt;br /&gt;
== Configuring the DID ==&lt;br /&gt;
&lt;br /&gt;
A DID is not necessarily required when VTScada will only place outbound voice calls.&lt;br /&gt;
&lt;br /&gt;
A DID is required when the installation will use features such as:&lt;br /&gt;
&lt;br /&gt;
:* Receiving calls through the VoIP.ms number.&lt;br /&gt;
:* Sending SMS from a VoIP.ms number.&lt;br /&gt;
:* Receiving SMS messages.&lt;br /&gt;
:* Alarm acknowledgement through SMS.&lt;br /&gt;
&lt;br /&gt;
To configure the DID:&lt;br /&gt;
&lt;br /&gt;
:1. From the VoIP.ms Customer Portal, navigate to:&lt;br /&gt;
&lt;br /&gt;
::'''DID Numbers → Manage DID(s)'''&lt;br /&gt;
:: [[File:VTScada-VoIP-ManageDID.png]]&lt;br /&gt;
&lt;br /&gt;
:2. Locate the DID and click the '''Edit''' icon.&lt;br /&gt;
:: [[File:VTScada-VoIP-EditDID.png]]&lt;br /&gt;
&lt;br /&gt;
=== DID POP ===&lt;br /&gt;
&lt;br /&gt;
Ensure that the '''DID Point of Presence (POP)''' corresponds to the same VoIP.ms server configured in VTScada.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
:: [[File:VTScada-VoIP-DIDPOP.png|VoIPms PoP Server]]&lt;br /&gt;
&lt;br /&gt;
=== DID Routing ===&lt;br /&gt;
&lt;br /&gt;
If incoming SIP calls should be delivered directly to VTScada:&lt;br /&gt;
&lt;br /&gt;
:1. Locate the '''DID Routing''' section.&lt;br /&gt;
&lt;br /&gt;
:2. Select the '''SIP/IAX''' routing option.&lt;br /&gt;
&lt;br /&gt;
:3. Select from the drop-down menu, the Sub Account created for VTScada.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
:: [[File:VTScada-VoIPms_DIDROUTING.png]]&lt;br /&gt;
&lt;br /&gt;
:4. Save the DID configuration.&lt;br /&gt;
&lt;br /&gt;
== SMS Configuration ==&lt;br /&gt;
&lt;br /&gt;
If VTScada will use SMS notifications or SMS acknowledgement, SMS must first be enabled on the VoIP.ms DID.&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
&lt;br /&gt;
:'''DID Numbers → Manage DID(s)'''&lt;br /&gt;
:: [[File:VTScada-VoIP-ManageDID.png]]&lt;br /&gt;
&lt;br /&gt;
Edit the desired DID and locate:&lt;br /&gt;
:: [[File:VTScada-VoIP-EditDID.png]]&lt;br /&gt;
&lt;br /&gt;
:'''Message Service (SMS/MMS)'''&lt;br /&gt;
Enable the SMS/MMS service.&lt;br /&gt;
:: [[File:VTScada-VoIP-EnableSMS.png]]&lt;br /&gt;
&lt;br /&gt;
Then enable the option to route received SMS messages to a SIP Account and select the VTScada Sub Account.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SIP account must be successfully registered with VoIP.ms for incoming SIP MESSAGE requests to reach VTScada.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Avoid registering the same SIP Sub Account simultaneously on VTScada and another SIP application. Doing so may cause calls or SMS messages to be delivered to the wrong registration.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' SMS functionality should be thoroughly tested before relying on SMS acknowledgement for production alarm handling.&lt;br /&gt;
&lt;br /&gt;
== SIP Encryption ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms supports SIP signaling encryption using TLS and media encryption using SRTP.&lt;br /&gt;
&lt;br /&gt;
If encrypted SIP traffic will be used with VTScada, enable this option on the VTScada Sub Account.&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
:'''Sub Accounts → Manage Sub Accounts'''&lt;br /&gt;
&lt;br /&gt;
Edit the VTScada Sub Account, and set:&lt;br /&gt;
&lt;br /&gt;
:* '''Encrypted SIP Traffic:''' Yes&lt;br /&gt;
:: [[File:VTScada-VoIP-SIPEncryption.png]]&lt;br /&gt;
&lt;br /&gt;
Save the configuration.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Once '''Encrypted SIP Traffic''' is enabled for the Sub Account, the SIP client must also be configured to use TLS/SRTP. Standard unencrypted SIP registrations for that Sub Account will no longer be accepted.&lt;br /&gt;
&lt;br /&gt;
For additional information, refer to [[Call Encryption - TLS/SRTP]].&lt;br /&gt;
&lt;br /&gt;
== Configuring VTScada ==&lt;br /&gt;
&lt;br /&gt;
Once the VoIP.ms SIP account has been prepared, VTScada can be configured.&lt;br /&gt;
&lt;br /&gt;
From the VTScada application:&lt;br /&gt;
&lt;br /&gt;
:1. Open the '''Application Configuration''' dialog.&lt;br /&gt;
&lt;br /&gt;
:2. Select '''Edit Properties'''.&lt;br /&gt;
&lt;br /&gt;
:3. Make sure the configuration is displayed in '''Basic Mode'''.&lt;br /&gt;
&lt;br /&gt;
:4. Select the '''Alarms''' tab.&lt;br /&gt;
&lt;br /&gt;
:5. Scroll to the '''VOIP Settings''' section.&lt;br /&gt;
&lt;br /&gt;
:: [[File:VTScada-VoIP-Settings.png|VTScada VoIP Settings]]&lt;br /&gt;
&lt;br /&gt;
=== Enable VoIP Calls ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP Calls'''&lt;br /&gt;
&lt;br /&gt;
This allows the Alarm Notification System to place voice calls using the configured VoIP.ms SIP account.&lt;br /&gt;
&lt;br /&gt;
If SMS functionality will also be used, enable:&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP SMS'''&lt;br /&gt;
&lt;br /&gt;
=== Workstation ===&lt;br /&gt;
&lt;br /&gt;
Select the workstation that will act as the Alarm Notification Server.&lt;br /&gt;
&lt;br /&gt;
When multiple VTScada workstations are present, it is recommended to explicitly select the appropriate workstation rather than leaving the option set to '''Default'''.&lt;br /&gt;
&lt;br /&gt;
=== SIP Identity ===&lt;br /&gt;
&lt;br /&gt;
Enter the SIP identity using the VoIP.ms Sub Account and selected POP.&lt;br /&gt;
&lt;br /&gt;
The general format is:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:ACCOUNT_SUBACCOUNT@SERVER.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:123456_vtscada@montreal1.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the VoIP.ms Main Account is used instead, the format would be similar to:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:123456@montreal1.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Server ===&lt;br /&gt;
&lt;br /&gt;
Enter the selected VoIP.ms POP as a SIP URI.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Proxy ===&lt;br /&gt;
&lt;br /&gt;
When required by the VTScada configuration, use the same VoIP.ms POP server.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Domain ===&lt;br /&gt;
&lt;br /&gt;
Enter the hostname of the selected VoIP.ms server without the ''sip:'' prefix.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VTScada uses the SIP Domain when constructing SIP URIs for destinations stored as regular telephone numbers.&lt;br /&gt;
&lt;br /&gt;
=== SIP Login User ID ===&lt;br /&gt;
&lt;br /&gt;
Enter the complete VoIP.ms SIP username.&lt;br /&gt;
&lt;br /&gt;
For a Sub Account:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the Main Account:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Password ===&lt;br /&gt;
&lt;br /&gt;
Enter the SIP password associated with the account being used.&lt;br /&gt;
&lt;br /&gt;
When using a Sub Account, this is the password configured when the Sub Account was created.&lt;br /&gt;
&lt;br /&gt;
Do not enter the VoIP.ms Customer Portal password when using a Sub Account.&lt;br /&gt;
&lt;br /&gt;
== Example Configuration ==&lt;br /&gt;
&lt;br /&gt;
A typical VTScada configuration using a VoIP.ms Sub Account might therefore appear as follows:&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP Calls:'''&lt;br /&gt;
::Enabled&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP SMS:'''&lt;br /&gt;
::Enabled, if required&lt;br /&gt;
&lt;br /&gt;
:'''Workstation:'''&lt;br /&gt;
::The workstation hosting the Alarm Notification System&lt;br /&gt;
&lt;br /&gt;
:'''SIP Identity:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:123456_vtscada@montreal1.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Server:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Proxy:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Domain:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Login User ID:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Password:'''&lt;br /&gt;
::The password configured for the VTScada Sub Account.&lt;br /&gt;
&lt;br /&gt;
Replace the example account number, username and server with the information from your own VoIP.ms account.&lt;br /&gt;
&lt;br /&gt;
== Telephone Number Format ==&lt;br /&gt;
&lt;br /&gt;
When telephone numbers are entered directly into a VTScada roster, use complete telephone numbers.&lt;br /&gt;
&lt;br /&gt;
For calls within the North American Numbering Plan (NANPA), using the complete 11-digit number is recommended.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;15145551234&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid spaces, parentheses and hyphens.&lt;br /&gt;
&lt;br /&gt;
For example, instead of:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;(514) 555-1234&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;15145551234&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VTScada combines the destination with the configured SIP Domain when creating the SIP URI used to place the call.&lt;br /&gt;
&lt;br /&gt;
== Configuring a Roster Tag ==&lt;br /&gt;
&lt;br /&gt;
After the SIP connection has been configured, create or modify a VTScada '''Roster Tag''' to define which users will receive alarm notifications.&lt;br /&gt;
&lt;br /&gt;
In VTScada:&lt;br /&gt;
&lt;br /&gt;
:1. Create or edit the desired Roster Tag.&lt;br /&gt;
&lt;br /&gt;
:2. Under the '''ID''' tab, configure the identifying information for the roster.&lt;br /&gt;
&lt;br /&gt;
:3. Open the '''Contacts''' tab.&lt;br /&gt;
&lt;br /&gt;
:4. Select:&lt;br /&gt;
&lt;br /&gt;
::'''+ Add Contact'''&lt;br /&gt;
&lt;br /&gt;
:5. Add the telephone number or SMS destination for each alarm recipient.&lt;br /&gt;
&lt;br /&gt;
:6. Open the '''Settings''' tab.&lt;br /&gt;
&lt;br /&gt;
:7. Configure the trigger conditions that will activate the roster.&lt;br /&gt;
&lt;br /&gt;
During initial testing, it may be useful to configure only one recipient and a short notification delay.&lt;br /&gt;
&lt;br /&gt;
Once the configuration has been validated, configure the final notification sequence required by the installation.&lt;br /&gt;
&lt;br /&gt;
== User Identification Codes ==&lt;br /&gt;
&lt;br /&gt;
VTScada can require users receiving voice alarm notifications to authenticate before acknowledging an alarm.&lt;br /&gt;
&lt;br /&gt;
For each applicable VTScada user:&lt;br /&gt;
&lt;br /&gt;
:1. Open '''Accounts'''.&lt;br /&gt;
&lt;br /&gt;
:2. Select the user.&lt;br /&gt;
&lt;br /&gt;
:3. Locate '''Alternate Identification'''.&lt;br /&gt;
&lt;br /&gt;
:4. Configure a numerical identification code or PIN.&lt;br /&gt;
&lt;br /&gt;
:5. Apply the changes.&lt;br /&gt;
&lt;br /&gt;
Provide the appropriate identification code to the corresponding alarm recipient.&lt;br /&gt;
&lt;br /&gt;
== Testing the Configuration ==&lt;br /&gt;
&lt;br /&gt;
Before placing the configuration into production, verify both the VoIP.ms SIP registration and the VTScada alarm notification process.&lt;br /&gt;
&lt;br /&gt;
=== Verify SIP Registration ===&lt;br /&gt;
&lt;br /&gt;
Log in to the VoIP.ms Customer Portal and navigate to the Portal Home.&lt;br /&gt;
&lt;br /&gt;
Locate the '''Sub Account Registration Status''' section.&lt;br /&gt;
&lt;br /&gt;
The VTScada Sub Account should appear as registered.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada    Registered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the Sub Account does not appear as registered, verify:&lt;br /&gt;
&lt;br /&gt;
:* SIP username.&lt;br /&gt;
:* SIP password.&lt;br /&gt;
:* VoIP.ms server hostname.&lt;br /&gt;
:* Network or firewall configuration.&lt;br /&gt;
:* TLS configuration, if encryption is enabled.&lt;br /&gt;
&lt;br /&gt;
=== Test Outbound Calls ===&lt;br /&gt;
&lt;br /&gt;
Configure a temporary Roster contact using a telephone number that can be answered during testing.&lt;br /&gt;
&lt;br /&gt;
Generate a test alarm and verify that:&lt;br /&gt;
&lt;br /&gt;
:* VTScada initiates the call.&lt;br /&gt;
:* The destination telephone rings.&lt;br /&gt;
:* The alarm announcement can be heard.&lt;br /&gt;
:* DTMF input is recognized.&lt;br /&gt;
:* The alarm can be acknowledged successfully.&lt;br /&gt;
&lt;br /&gt;
=== Test SMS ===&lt;br /&gt;
&lt;br /&gt;
If SMS is enabled:&lt;br /&gt;
&lt;br /&gt;
:* Send an alarm notification by SMS.&lt;br /&gt;
:* Confirm that the message is received.&lt;br /&gt;
:* Send the required acknowledgement response.&lt;br /&gt;
:* Confirm that VTScada receives and processes the response.&lt;br /&gt;
&lt;br /&gt;
Do not rely on SMS acknowledgement in production until the complete send-and-response process has been successfully tested.&lt;br /&gt;
&lt;br /&gt;
== Testing with a Softphone ==&lt;br /&gt;
&lt;br /&gt;
When troubleshooting, a SIP softphone such as MicroSIP can be temporarily configured with the same VoIP.ms credentials to verify that the account itself is operating correctly.&lt;br /&gt;
&lt;br /&gt;
This can help distinguish between:&lt;br /&gt;
&lt;br /&gt;
:* A VoIP.ms account configuration problem.&lt;br /&gt;
:* Incorrect SIP credentials.&lt;br /&gt;
:* A network or firewall issue.&lt;br /&gt;
:* A VTScada configuration issue.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Disconnect the softphone before starting VTScada again.&lt;br /&gt;
&lt;br /&gt;
Using the same SIP account simultaneously in both applications can cause registration and routing conflicts.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, separate VoIP.ms Sub Accounts should be used when multiple SIP applications must remain registered at the same time.&lt;br /&gt;
&lt;br /&gt;
== Advanced VTScada Settings ==&lt;br /&gt;
&lt;br /&gt;
=== VOIPPickUpDelay ===&lt;br /&gt;
&lt;br /&gt;
VTScada includes the advanced property:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VOIPPickUpDelay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This value determines the interval between the start of a VoIP call and the beginning of the voice announcement.&lt;br /&gt;
&lt;br /&gt;
The VTScada default is normally 10 seconds.&lt;br /&gt;
&lt;br /&gt;
Depending on the telephone network and destination, a shorter value may provide faster alarm announcements.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VOIPPickUpDelay = 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This setting should be tested carefully since beginning playback too quickly may cause the beginning of the alarm message to be missed.&lt;br /&gt;
&lt;br /&gt;
=== VOIPPort ===&lt;br /&gt;
&lt;br /&gt;
VTScada normally uses the standard SIP port configured by the application.&lt;br /&gt;
&lt;br /&gt;
If another SIP application on the same workstation is already using the local SIP port, VTScada allows its local VoIP port to be changed through its Setup.INI configuration.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VOIPPort = 5062&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After modifying Setup.INI, restart VTScada.&lt;br /&gt;
&lt;br /&gt;
Changing the local VTScada SIP port normally does not require changing the VoIP.ms server hostname.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Registration Fails ===&lt;br /&gt;
&lt;br /&gt;
If VTScada cannot register with VoIP.ms:&lt;br /&gt;
&lt;br /&gt;
:* Confirm that the SIP Login User ID contains the complete Sub Account username.&lt;br /&gt;
::* Example:&lt;br /&gt;
:::&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Confirm the SIP password.&lt;br /&gt;
:* Confirm that the correct VoIP.ms POP hostname is being used.&lt;br /&gt;
:* Check the registration status from the VoIP.ms Customer Portal.&lt;br /&gt;
:* Confirm that TLS/SRTP settings match the '''Encrypted SIP Traffic''' setting of the Sub Account.&lt;br /&gt;
:* Confirm that a firewall is not blocking SIP or RTP traffic.&lt;br /&gt;
&lt;br /&gt;
=== SIP 401 or 403 Errors ===&lt;br /&gt;
&lt;br /&gt;
VTScada's communication logs may contain SIP response codes such as:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;401 Unauthorized&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;403 Forbidden&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These generally indicate that authentication was unsuccessful.&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
:* SIP Login User ID.&lt;br /&gt;
:* SIP password.&lt;br /&gt;
:* SIP server.&lt;br /&gt;
:* Encryption configuration.&lt;br /&gt;
:* That another application is not simultaneously using the same SIP credentials.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Calls Work but Incoming Calls Do Not ===&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
:* The DID is routed to the correct SIP Account.&lt;br /&gt;
:* VTScada is successfully registered.&lt;br /&gt;
:* The DID POP matches the VoIP.ms server used by VTScada.&lt;br /&gt;
&lt;br /&gt;
For example, if VTScada registers to:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the DID should normally also use:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calls Connect but There Is No Audio ===&lt;br /&gt;
&lt;br /&gt;
If a call connects but audio is missing in one or both directions:&lt;br /&gt;
&lt;br /&gt;
:* Verify the firewall configuration.&lt;br /&gt;
:* Verify that RTP traffic is permitted between the VTScada workstation and VoIP.ms.&lt;br /&gt;
:* Check for SIP ALG on the router and disable it when it interferes with SIP communication.&lt;br /&gt;
:* Review the VTScada VoIP communication logs.&lt;br /&gt;
&lt;br /&gt;
=== SMS Can Be Sent but Replies Are Not Received ===&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
:* SMS/MMS is enabled on the DID.&lt;br /&gt;
:* The DID is configured to route received SMS messages to the VTScada SIP Account.&lt;br /&gt;
:* The VTScada SIP Account is registered.&lt;br /&gt;
:* The same SIP account is not registered simultaneously on another application.&lt;br /&gt;
:* TLS settings are consistent between VTScada and VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Viewing VTScada VoIP Logs ===&lt;br /&gt;
&lt;br /&gt;
VTScada can generate VoIP communication logs for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
These logs are normally stored under:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada\TraceFiles\VOIPLogs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review the logs for SIP registration errors, rejected requests and authentication responses.&lt;br /&gt;
&lt;br /&gt;
The logs can be particularly useful when determining whether a problem occurs before or after communication reaches the VoIP.ms server.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
Because VTScada may be responsible for critical alarm notifications, additional security measures are recommended.&lt;br /&gt;
&lt;br /&gt;
:* Use a dedicated VoIP.ms Sub Account for VTScada.&lt;br /&gt;
:* Use a strong and unique SIP password.&lt;br /&gt;
:* Do not expose the VTScada management interface directly to the public Internet.&lt;br /&gt;
:* Consider enabling [[Call Encryption - TLS/SRTP|TLS/SRTP]].&lt;br /&gt;
:* Consider using VoIP.ms POP and IP restrictions where appropriate.&lt;br /&gt;
:* Disable international calling on the Sub Account if it is not required.&lt;br /&gt;
:* Restrict outbound calling capabilities to only those services required by the installation.&lt;br /&gt;
:* Regularly verify that alarm notifications are operating correctly.&lt;br /&gt;
&lt;br /&gt;
Refer to [[General Security]] for additional VoIP.ms security recommendations.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
:* [[Sub Accounts]]&lt;br /&gt;
:* [[Manage DID]]&lt;br /&gt;
:* [[SMS]]&lt;br /&gt;
:* [[Choosing Server|Choosing a Server]]&lt;br /&gt;
:* [[Call Encryption - TLS/SRTP]]&lt;br /&gt;
:* [[General Security]]&lt;br /&gt;
:* [[DID Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
== VTScada Documentation ==&lt;br /&gt;
&lt;br /&gt;
The following VTScada documentation provides additional information about&lt;br /&gt;
the Alarm Notification System and VoIP configuration:&lt;br /&gt;
&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_AlarmSystem/Dev_VoIPSetup.htm Setting Up a Specific VoIP Connection]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_AlarmSystem/Dev_VOIP.htm Using VoIP for Alarm Notification]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Tags/Dev_RosterTags.htm Roster Tags]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Customize/dev_AccountsAndRoles.htm Accounts and Roles]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Widgets/Dev_RosterAlarmTestWidget.htm Roster Alarm Test Widget]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Widgets/D_ExportCommLog.htm Export Comm Log Widget]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_AlarmSystem/Dev_AlarmList.htm Alarm List]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Widgets/D_CallManagerStatus.htm Call Manager Status Widget]&lt;br /&gt;
&lt;br /&gt;
[[Category:PBX]]&lt;br /&gt;
[[Category:VoIP Software]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-logo.png</id>
		<title>File:VTScada-logo.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-logo.png"/>
				<updated>2026-10-01T14:48:53Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: uploaded a new version of &amp;amp;quot;File:VTScada-logo.png&amp;amp;quot;: Reverted to version as of 14:46, 1 October 2026&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-logo.png</id>
		<title>File:VTScada-logo.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-logo.png"/>
				<updated>2026-10-01T14:48:35Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: uploaded a new version of &amp;amp;quot;File:VTScada-logo.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-logo.png</id>
		<title>File:VTScada-logo.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-logo.png"/>
				<updated>2026-10-01T14:47:55Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: uploaded a new version of &amp;amp;quot;File:VTScada-logo.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-logo.png</id>
		<title>File:VTScada-logo.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-logo.png"/>
				<updated>2026-10-01T14:46:48Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: uploaded a new version of &amp;amp;quot;File:VTScada-logo.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-VoIP-EnableSMS.png</id>
		<title>File:VTScada-VoIP-EnableSMS.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-VoIP-EnableSMS.png"/>
				<updated>2026-09-29T16:34:01Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-VoIP-CreateSubAccount.png</id>
		<title>File:VTScada-VoIP-CreateSubAccount.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-VoIP-CreateSubAccount.png"/>
				<updated>2026-09-29T16:33:10Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/VTScada</id>
		<title>VTScada</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/VTScada"/>
				<updated>2026-09-28T20:19:14Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VTScada-logo.png|right|200px]]&lt;br /&gt;
&lt;br /&gt;
'''VTScada''' is an industrial automation and SCADA platform developed by Trihedral. Among its alarm notification features, VTScada can use SIP-based Voice over IP (VoIP) services to place automated voice calls and, when supported, exchange SMS messages with alarm recipients.&lt;br /&gt;
&lt;br /&gt;
This article describes how to configure '''VTScada''' for use with [[VoIP.ms]].&lt;br /&gt;
&lt;br /&gt;
The configuration presented in this guide uses a dedicated VoIP.ms [[Sub Accounts|Sub Account]]. Although the Main Account may also be used, a dedicated Sub Account is recommended when possible because it provides separate SIP credentials and prevents registration conflicts with other SIP devices or applications.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VTScada is a third-party application and is not developed or maintained by VoIP.ms. Menu names and available options may vary between VTScada versions.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Before configuring VTScada, you should have:&lt;br /&gt;
&lt;br /&gt;
:* An active [[VoIP.ms]] account with available balance.&lt;br /&gt;
:* A VoIP.ms SIP account or preferably a dedicated [[Sub Accounts|Sub Account]].&lt;br /&gt;
:* A VoIP.ms [[Choosing Server|POP server]] selected for the connection.&lt;br /&gt;
:* A valid outbound Caller ID.&lt;br /&gt;
:* A DID number if incoming calls or SMS functionality will be used.&lt;br /&gt;
:* VTScada installed and configured with the Alarm Notification System.&lt;br /&gt;
:* Internet access from the VTScada workstation to the selected VoIP.ms POP.&lt;br /&gt;
&lt;br /&gt;
If SMS notifications or SMS acknowledgement will be used:&lt;br /&gt;
&lt;br /&gt;
:* The DID must support SMS.&lt;br /&gt;
:* SMS/MMS must be enabled for the DID.&lt;br /&gt;
:* Incoming SMS messages must be routed to the SIP account used by VTScada.&lt;br /&gt;
&lt;br /&gt;
== Creating a VoIP.ms Sub Account ==&lt;br /&gt;
&lt;br /&gt;
Although VTScada can be configured with the VoIP.ms Main Account, using a dedicated Sub Account is recommended.&lt;br /&gt;
&lt;br /&gt;
To create one:&lt;br /&gt;
&lt;br /&gt;
:1. Log in to the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
:2. Navigate to:&lt;br /&gt;
&lt;br /&gt;
::'''Sub Accounts → Create Sub Account'''&lt;br /&gt;
:: [[File:VTScada-VoIP-CreateSubAccountMenu.png|none]]&lt;br /&gt;
&lt;br /&gt;
:3. Configure the following basic options:&lt;br /&gt;
&lt;br /&gt;
::* '''Protocol:''' SIP&lt;br /&gt;
::* '''Authentication Type:''' User/Password Authentication&lt;br /&gt;
::* '''Username:''' Enter a name that identifies the VTScada system, for example:&lt;br /&gt;
:::&amp;lt;pre&amp;gt;vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
::* '''Password:''' Enter a strong and unique SIP password.&lt;br /&gt;
::* '''Caller ID Number:''' Select the DID or verified Caller ID that VTScada should present for outbound calls.&lt;br /&gt;
::* '''Encrypted SIP Traffic:''' Yes&lt;br /&gt;
The resulting SIP username will use the following format:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
:* '''123456''' represents your VoIP.ms account number.&lt;br /&gt;
:* '''vtscada''' represents the Sub Account username.&lt;br /&gt;
:: [[File:VTScada-VoIP-CreateSubAccount.png|none]]&lt;br /&gt;
Click '''Create Account''' to save the configuration.&lt;br /&gt;
&lt;br /&gt;
For additional information regarding Sub Accounts, refer to [[Sub Accounts]].&lt;br /&gt;
&lt;br /&gt;
== Selecting a VoIP.ms POP Server ==&lt;br /&gt;
&lt;br /&gt;
VTScada must register to one of the VoIP.ms SIP servers.&lt;br /&gt;
&lt;br /&gt;
Select a server that is geographically appropriate for the VTScada installation. For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same server should also be selected as the '''POP''' for any DID that will be routed directly to the VTScada SIP account.&lt;br /&gt;
&lt;br /&gt;
For more information about available servers, refer to [[Choosing Server|Choosing a Server]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If the DID is configured on a different POP than the server used by VTScada, incoming calls may not reach the application correctly.&lt;br /&gt;
&lt;br /&gt;
== Configuring the DID ==&lt;br /&gt;
&lt;br /&gt;
A DID is not necessarily required when VTScada will only place outbound voice calls.&lt;br /&gt;
&lt;br /&gt;
A DID is required when the installation will use features such as:&lt;br /&gt;
&lt;br /&gt;
:* Receiving calls through the VoIP.ms number.&lt;br /&gt;
:* Sending SMS from a VoIP.ms number.&lt;br /&gt;
:* Receiving SMS messages.&lt;br /&gt;
:* Alarm acknowledgement through SMS.&lt;br /&gt;
&lt;br /&gt;
To configure the DID:&lt;br /&gt;
&lt;br /&gt;
:1. From the VoIP.ms Customer Portal, navigate to:&lt;br /&gt;
&lt;br /&gt;
::'''DID Numbers → Manage DID(s)'''&lt;br /&gt;
:: [[File:VTScada-VoIP-ManageDID.png]]&lt;br /&gt;
&lt;br /&gt;
:2. Locate the DID and click the '''Edit''' icon.&lt;br /&gt;
:: [[File:VTScada-VoIP-EditDID.png]]&lt;br /&gt;
&lt;br /&gt;
=== DID POP ===&lt;br /&gt;
&lt;br /&gt;
Ensure that the '''DID Point of Presence (POP)''' corresponds to the same VoIP.ms server configured in VTScada.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
:: [[File:VTScada-VoIP-DIDPOP.png|VoIPms PoP Server]]&lt;br /&gt;
&lt;br /&gt;
=== DID Routing ===&lt;br /&gt;
&lt;br /&gt;
If incoming SIP calls should be delivered directly to VTScada:&lt;br /&gt;
&lt;br /&gt;
:1. Locate the '''DID Routing''' section.&lt;br /&gt;
&lt;br /&gt;
:2. Select the '''SIP/IAX''' routing option.&lt;br /&gt;
&lt;br /&gt;
:3. Select from the drop-down menu, the Sub Account created for VTScada.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
:: [[File:VTScada-VoIPms_DIDROUTING.png]]&lt;br /&gt;
&lt;br /&gt;
:4. Save the DID configuration.&lt;br /&gt;
&lt;br /&gt;
== SMS Configuration ==&lt;br /&gt;
&lt;br /&gt;
If VTScada will use SMS notifications or SMS acknowledgement, SMS must first be enabled on the VoIP.ms DID.&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
&lt;br /&gt;
:'''DID Numbers → Manage DID(s)'''&lt;br /&gt;
:: [[File:VTScada-VoIP-ManageDID.png]]&lt;br /&gt;
&lt;br /&gt;
Edit the desired DID and locate:&lt;br /&gt;
:: [[File:VTScada-VoIP-EditDID.png]]&lt;br /&gt;
&lt;br /&gt;
:'''Message Service (SMS/MMS)'''&lt;br /&gt;
Enable the SMS/MMS service.&lt;br /&gt;
:: [[File:VTScada-VoIP-EnableSMS.png]]&lt;br /&gt;
&lt;br /&gt;
Then enable the option to route received SMS messages to a SIP Account and select the VTScada Sub Account.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SIP account must be successfully registered with VoIP.ms for incoming SIP MESSAGE requests to reach VTScada.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Avoid registering the same SIP Sub Account simultaneously on VTScada and another SIP application. Doing so may cause calls or SMS messages to be delivered to the wrong registration.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' SMS functionality should be thoroughly tested before relying on SMS acknowledgement for production alarm handling.&lt;br /&gt;
&lt;br /&gt;
== SIP Encryption ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms supports SIP signaling encryption using TLS and media encryption using SRTP.&lt;br /&gt;
&lt;br /&gt;
If encrypted SIP traffic will be used with VTScada, enable this option on the VTScada Sub Account.&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
:'''Sub Accounts → Manage Sub Accounts'''&lt;br /&gt;
&lt;br /&gt;
Edit the VTScada Sub Account, and set:&lt;br /&gt;
&lt;br /&gt;
:* '''Encrypted SIP Traffic:''' Yes&lt;br /&gt;
:: [[File:VTScada-VoIP-SIPEncryption.png]]&lt;br /&gt;
&lt;br /&gt;
Save the configuration.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Once '''Encrypted SIP Traffic''' is enabled for the Sub Account, the SIP client must also be configured to use TLS/SRTP. Standard unencrypted SIP registrations for that Sub Account will no longer be accepted.&lt;br /&gt;
&lt;br /&gt;
For additional information, refer to [[Call Encryption - TLS/SRTP]].&lt;br /&gt;
&lt;br /&gt;
== Configuring VTScada ==&lt;br /&gt;
&lt;br /&gt;
Once the VoIP.ms SIP account has been prepared, VTScada can be configured.&lt;br /&gt;
&lt;br /&gt;
From the VTScada application:&lt;br /&gt;
&lt;br /&gt;
:1. Open the '''Application Configuration''' dialog.&lt;br /&gt;
&lt;br /&gt;
:2. Select '''Edit Properties'''.&lt;br /&gt;
&lt;br /&gt;
:3. Make sure the configuration is displayed in '''Basic Mode'''.&lt;br /&gt;
&lt;br /&gt;
:4. Select the '''Alarms''' tab.&lt;br /&gt;
&lt;br /&gt;
:5. Scroll to the '''VOIP Settings''' section.&lt;br /&gt;
&lt;br /&gt;
:: [[File:VTScada-VoIP-Settings.png|VTScada VoIP Settings]]&lt;br /&gt;
&lt;br /&gt;
=== Enable VoIP Calls ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP Calls'''&lt;br /&gt;
&lt;br /&gt;
This allows the Alarm Notification System to place voice calls using the configured VoIP.ms SIP account.&lt;br /&gt;
&lt;br /&gt;
If SMS functionality will also be used, enable:&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP SMS'''&lt;br /&gt;
&lt;br /&gt;
=== Workstation ===&lt;br /&gt;
&lt;br /&gt;
Select the workstation that will act as the Alarm Notification Server.&lt;br /&gt;
&lt;br /&gt;
When multiple VTScada workstations are present, it is recommended to explicitly select the appropriate workstation rather than leaving the option set to '''Default'''.&lt;br /&gt;
&lt;br /&gt;
=== SIP Identity ===&lt;br /&gt;
&lt;br /&gt;
Enter the SIP identity using the VoIP.ms Sub Account and selected POP.&lt;br /&gt;
&lt;br /&gt;
The general format is:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:ACCOUNT_SUBACCOUNT@SERVER.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:123456_vtscada@montreal1.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the VoIP.ms Main Account is used instead, the format would be similar to:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:123456@montreal1.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Server ===&lt;br /&gt;
&lt;br /&gt;
Enter the selected VoIP.ms POP as a SIP URI.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Proxy ===&lt;br /&gt;
&lt;br /&gt;
When required by the VTScada configuration, use the same VoIP.ms POP server.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Domain ===&lt;br /&gt;
&lt;br /&gt;
Enter the hostname of the selected VoIP.ms server without the ''sip:'' prefix.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VTScada uses the SIP Domain when constructing SIP URIs for destinations stored as regular telephone numbers.&lt;br /&gt;
&lt;br /&gt;
=== SIP Login User ID ===&lt;br /&gt;
&lt;br /&gt;
Enter the complete VoIP.ms SIP username.&lt;br /&gt;
&lt;br /&gt;
For a Sub Account:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the Main Account:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Password ===&lt;br /&gt;
&lt;br /&gt;
Enter the SIP password associated with the account being used.&lt;br /&gt;
&lt;br /&gt;
When using a Sub Account, this is the password configured when the Sub Account was created.&lt;br /&gt;
&lt;br /&gt;
Do not enter the VoIP.ms Customer Portal password when using a Sub Account.&lt;br /&gt;
&lt;br /&gt;
== Example Configuration ==&lt;br /&gt;
&lt;br /&gt;
A typical VTScada configuration using a VoIP.ms Sub Account might therefore appear as follows:&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP Calls:'''&lt;br /&gt;
::Enabled&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP SMS:'''&lt;br /&gt;
::Enabled, if required&lt;br /&gt;
&lt;br /&gt;
:'''Workstation:'''&lt;br /&gt;
::The workstation hosting the Alarm Notification System&lt;br /&gt;
&lt;br /&gt;
:'''SIP Identity:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:123456_vtscada@montreal1.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Server:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Proxy:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Domain:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Login User ID:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Password:'''&lt;br /&gt;
::The password configured for the VTScada Sub Account.&lt;br /&gt;
&lt;br /&gt;
Replace the example account number, username and server with the information from your own VoIP.ms account.&lt;br /&gt;
&lt;br /&gt;
== Telephone Number Format ==&lt;br /&gt;
&lt;br /&gt;
When telephone numbers are entered directly into a VTScada roster, use complete telephone numbers.&lt;br /&gt;
&lt;br /&gt;
For calls within the North American Numbering Plan (NANPA), using the complete 11-digit number is recommended.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;15145551234&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid spaces, parentheses and hyphens.&lt;br /&gt;
&lt;br /&gt;
For example, instead of:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;(514) 555-1234&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;15145551234&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VTScada combines the destination with the configured SIP Domain when creating the SIP URI used to place the call.&lt;br /&gt;
&lt;br /&gt;
== Configuring a Roster Tag ==&lt;br /&gt;
&lt;br /&gt;
After the SIP connection has been configured, create or modify a VTScada '''Roster Tag''' to define which users will receive alarm notifications.&lt;br /&gt;
&lt;br /&gt;
In VTScada:&lt;br /&gt;
&lt;br /&gt;
:1. Create or edit the desired Roster Tag.&lt;br /&gt;
&lt;br /&gt;
:2. Under the '''ID''' tab, configure the identifying information for the roster.&lt;br /&gt;
&lt;br /&gt;
:3. Open the '''Contacts''' tab.&lt;br /&gt;
&lt;br /&gt;
:4. Select:&lt;br /&gt;
&lt;br /&gt;
::'''+ Add Contact'''&lt;br /&gt;
&lt;br /&gt;
:5. Add the telephone number or SMS destination for each alarm recipient.&lt;br /&gt;
&lt;br /&gt;
:6. Open the '''Settings''' tab.&lt;br /&gt;
&lt;br /&gt;
:7. Configure the trigger conditions that will activate the roster.&lt;br /&gt;
&lt;br /&gt;
During initial testing, it may be useful to configure only one recipient and a short notification delay.&lt;br /&gt;
&lt;br /&gt;
Once the configuration has been validated, configure the final notification sequence required by the installation.&lt;br /&gt;
&lt;br /&gt;
== User Identification Codes ==&lt;br /&gt;
&lt;br /&gt;
VTScada can require users receiving voice alarm notifications to authenticate before acknowledging an alarm.&lt;br /&gt;
&lt;br /&gt;
For each applicable VTScada user:&lt;br /&gt;
&lt;br /&gt;
:1. Open '''Accounts'''.&lt;br /&gt;
&lt;br /&gt;
:2. Select the user.&lt;br /&gt;
&lt;br /&gt;
:3. Locate '''Alternate Identification'''.&lt;br /&gt;
&lt;br /&gt;
:4. Configure a numerical identification code or PIN.&lt;br /&gt;
&lt;br /&gt;
:5. Apply the changes.&lt;br /&gt;
&lt;br /&gt;
Provide the appropriate identification code to the corresponding alarm recipient.&lt;br /&gt;
&lt;br /&gt;
== Testing the Configuration ==&lt;br /&gt;
&lt;br /&gt;
Before placing the configuration into production, verify both the VoIP.ms SIP registration and the VTScada alarm notification process.&lt;br /&gt;
&lt;br /&gt;
=== Verify SIP Registration ===&lt;br /&gt;
&lt;br /&gt;
Log in to the VoIP.ms Customer Portal and navigate to the Portal Home.&lt;br /&gt;
&lt;br /&gt;
Locate the '''Sub Account Registration Status''' section.&lt;br /&gt;
&lt;br /&gt;
The VTScada Sub Account should appear as registered.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada    Registered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the Sub Account does not appear as registered, verify:&lt;br /&gt;
&lt;br /&gt;
:* SIP username.&lt;br /&gt;
:* SIP password.&lt;br /&gt;
:* VoIP.ms server hostname.&lt;br /&gt;
:* Network or firewall configuration.&lt;br /&gt;
:* TLS configuration, if encryption is enabled.&lt;br /&gt;
&lt;br /&gt;
=== Test Outbound Calls ===&lt;br /&gt;
&lt;br /&gt;
Configure a temporary Roster contact using a telephone number that can be answered during testing.&lt;br /&gt;
&lt;br /&gt;
Generate a test alarm and verify that:&lt;br /&gt;
&lt;br /&gt;
:* VTScada initiates the call.&lt;br /&gt;
:* The destination telephone rings.&lt;br /&gt;
:* The alarm announcement can be heard.&lt;br /&gt;
:* DTMF input is recognized.&lt;br /&gt;
:* The alarm can be acknowledged successfully.&lt;br /&gt;
&lt;br /&gt;
=== Test SMS ===&lt;br /&gt;
&lt;br /&gt;
If SMS is enabled:&lt;br /&gt;
&lt;br /&gt;
:* Send an alarm notification by SMS.&lt;br /&gt;
:* Confirm that the message is received.&lt;br /&gt;
:* Send the required acknowledgement response.&lt;br /&gt;
:* Confirm that VTScada receives and processes the response.&lt;br /&gt;
&lt;br /&gt;
Do not rely on SMS acknowledgement in production until the complete send-and-response process has been successfully tested.&lt;br /&gt;
&lt;br /&gt;
== Testing with a Softphone ==&lt;br /&gt;
&lt;br /&gt;
When troubleshooting, a SIP softphone such as MicroSIP can be temporarily configured with the same VoIP.ms credentials to verify that the account itself is operating correctly.&lt;br /&gt;
&lt;br /&gt;
This can help distinguish between:&lt;br /&gt;
&lt;br /&gt;
:* A VoIP.ms account configuration problem.&lt;br /&gt;
:* Incorrect SIP credentials.&lt;br /&gt;
:* A network or firewall issue.&lt;br /&gt;
:* A VTScada configuration issue.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Disconnect the softphone before starting VTScada again.&lt;br /&gt;
&lt;br /&gt;
Using the same SIP account simultaneously in both applications can cause registration and routing conflicts.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, separate VoIP.ms Sub Accounts should be used when multiple SIP applications must remain registered at the same time.&lt;br /&gt;
&lt;br /&gt;
== Advanced VTScada Settings ==&lt;br /&gt;
&lt;br /&gt;
=== VOIPPickUpDelay ===&lt;br /&gt;
&lt;br /&gt;
VTScada includes the advanced property:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VOIPPickUpDelay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This value determines the interval between the start of a VoIP call and the beginning of the voice announcement.&lt;br /&gt;
&lt;br /&gt;
The VTScada default is normally 10 seconds.&lt;br /&gt;
&lt;br /&gt;
Depending on the telephone network and destination, a shorter value may provide faster alarm announcements.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VOIPPickUpDelay = 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This setting should be tested carefully since beginning playback too quickly may cause the beginning of the alarm message to be missed.&lt;br /&gt;
&lt;br /&gt;
=== VOIPPort ===&lt;br /&gt;
&lt;br /&gt;
VTScada normally uses the standard SIP port configured by the application.&lt;br /&gt;
&lt;br /&gt;
If another SIP application on the same workstation is already using the local SIP port, VTScada allows its local VoIP port to be changed through its Setup.INI configuration.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VOIPPort = 5062&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After modifying Setup.INI, restart VTScada.&lt;br /&gt;
&lt;br /&gt;
Changing the local VTScada SIP port normally does not require changing the VoIP.ms server hostname.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Registration Fails ===&lt;br /&gt;
&lt;br /&gt;
If VTScada cannot register with VoIP.ms:&lt;br /&gt;
&lt;br /&gt;
:* Confirm that the SIP Login User ID contains the complete Sub Account username.&lt;br /&gt;
::* Example:&lt;br /&gt;
:::&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Confirm the SIP password.&lt;br /&gt;
:* Confirm that the correct VoIP.ms POP hostname is being used.&lt;br /&gt;
:* Check the registration status from the VoIP.ms Customer Portal.&lt;br /&gt;
:* Confirm that TLS/SRTP settings match the '''Encrypted SIP Traffic''' setting of the Sub Account.&lt;br /&gt;
:* Confirm that a firewall is not blocking SIP or RTP traffic.&lt;br /&gt;
&lt;br /&gt;
=== SIP 401 or 403 Errors ===&lt;br /&gt;
&lt;br /&gt;
VTScada's communication logs may contain SIP response codes such as:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;401 Unauthorized&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;403 Forbidden&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These generally indicate that authentication was unsuccessful.&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
:* SIP Login User ID.&lt;br /&gt;
:* SIP password.&lt;br /&gt;
:* SIP server.&lt;br /&gt;
:* Encryption configuration.&lt;br /&gt;
:* That another application is not simultaneously using the same SIP credentials.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Calls Work but Incoming Calls Do Not ===&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
:* The DID is routed to the correct SIP Account.&lt;br /&gt;
:* VTScada is successfully registered.&lt;br /&gt;
:* The DID POP matches the VoIP.ms server used by VTScada.&lt;br /&gt;
&lt;br /&gt;
For example, if VTScada registers to:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the DID should normally also use:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calls Connect but There Is No Audio ===&lt;br /&gt;
&lt;br /&gt;
If a call connects but audio is missing in one or both directions:&lt;br /&gt;
&lt;br /&gt;
:* Verify the firewall configuration.&lt;br /&gt;
:* Verify that RTP traffic is permitted between the VTScada workstation and VoIP.ms.&lt;br /&gt;
:* Check for SIP ALG on the router and disable it when it interferes with SIP communication.&lt;br /&gt;
:* Review the VTScada VoIP communication logs.&lt;br /&gt;
&lt;br /&gt;
=== SMS Can Be Sent but Replies Are Not Received ===&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
:* SMS/MMS is enabled on the DID.&lt;br /&gt;
:* The DID is configured to route received SMS messages to the VTScada SIP Account.&lt;br /&gt;
:* The VTScada SIP Account is registered.&lt;br /&gt;
:* The same SIP account is not registered simultaneously on another application.&lt;br /&gt;
:* TLS settings are consistent between VTScada and VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Viewing VTScada VoIP Logs ===&lt;br /&gt;
&lt;br /&gt;
VTScada can generate VoIP communication logs for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
These logs are normally stored under:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada\TraceFiles\VOIPLogs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review the logs for SIP registration errors, rejected requests and authentication responses.&lt;br /&gt;
&lt;br /&gt;
The logs can be particularly useful when determining whether a problem occurs before or after communication reaches the VoIP.ms server.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
Because VTScada may be responsible for critical alarm notifications, additional security measures are recommended.&lt;br /&gt;
&lt;br /&gt;
:* Use a dedicated VoIP.ms Sub Account for VTScada.&lt;br /&gt;
:* Use a strong and unique SIP password.&lt;br /&gt;
:* Do not expose the VTScada management interface directly to the public Internet.&lt;br /&gt;
:* Consider enabling [[Call Encryption - TLS/SRTP|TLS/SRTP]].&lt;br /&gt;
:* Consider using VoIP.ms POP and IP restrictions where appropriate.&lt;br /&gt;
:* Disable international calling on the Sub Account if it is not required.&lt;br /&gt;
:* Restrict outbound calling capabilities to only those services required by the installation.&lt;br /&gt;
:* Regularly verify that alarm notifications are operating correctly.&lt;br /&gt;
&lt;br /&gt;
Refer to [[General Security]] for additional VoIP.ms security recommendations.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
:* [[Sub Accounts]]&lt;br /&gt;
:* [[Manage DID]]&lt;br /&gt;
:* [[SMS]]&lt;br /&gt;
:* [[Choosing Server|Choosing a Server]]&lt;br /&gt;
:* [[Call Encryption - TLS/SRTP]]&lt;br /&gt;
:* [[General Security]]&lt;br /&gt;
:* [[DID Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
== VTScada Documentation ==&lt;br /&gt;
&lt;br /&gt;
The following VTScada documentation provides additional information about&lt;br /&gt;
the Alarm Notification System and VoIP configuration:&lt;br /&gt;
&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_AlarmSystem/Dev_VoIPSetup.htm Setting Up a Specific VoIP Connection]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_AlarmSystem/Dev_VOIP.htm Using VoIP for Alarm Notification]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Tags/Dev_RosterTags.htm Roster Tags]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Customize/dev_AccountsAndRoles.htm Accounts and Roles]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Widgets/Dev_RosterAlarmTestWidget.htm Roster Alarm Test Widget]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Widgets/D_ExportCommLog.htm Export Comm Log Widget]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_AlarmSystem/Dev_AlarmList.htm Alarm List]&lt;br /&gt;
:* [https://www.vtscada.com/help/Content/D_Widgets/D_CallManagerStatus.htm Call Manager Status Widget]&lt;br /&gt;
&lt;br /&gt;
[[Category:PBX]]&lt;br /&gt;
[[Category:VoIP Software]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/VTScada</id>
		<title>VTScada</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/VTScada"/>
				<updated>2026-09-28T19:19:03Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: Created page with &amp;quot;200px  '''VTScada''' is an industrial automation and SCADA platform developed by Trihedral. Among its alarm notification features, VTScada can use...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VTScada-logo.png|right|200px]]&lt;br /&gt;
&lt;br /&gt;
'''VTScada''' is an industrial automation and SCADA platform developed by Trihedral. Among its alarm notification features, VTScada can use SIP-based Voice over IP (VoIP) services to place automated voice calls and, when supported, exchange SMS messages with alarm recipients.&lt;br /&gt;
&lt;br /&gt;
This article describes how to configure '''VTScada''' for use with [[VoIP.ms]].&lt;br /&gt;
&lt;br /&gt;
The configuration presented in this guide uses a dedicated VoIP.ms [[Sub Accounts|Sub Account]]. Although the Main Account may also be used, a dedicated Sub Account is recommended when possible because it provides separate SIP credentials and prevents registration conflicts with other SIP devices or applications.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VTScada is a third-party application and is not developed or maintained by VoIP.ms. Menu names and available options may vary between VTScada versions.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Before configuring VTScada, you should have:&lt;br /&gt;
&lt;br /&gt;
:* An active [[VoIP.ms]] account with available balance.&lt;br /&gt;
:* A VoIP.ms SIP account or preferably a dedicated [[Sub Accounts|Sub Account]].&lt;br /&gt;
:* A VoIP.ms [[Choosing Server|POP server]] selected for the connection.&lt;br /&gt;
:* A valid outbound Caller ID.&lt;br /&gt;
:* A DID number if incoming calls or SMS functionality will be used.&lt;br /&gt;
:* VTScada installed and configured with the Alarm Notification System.&lt;br /&gt;
:* Internet access from the VTScada workstation to the selected VoIP.ms POP.&lt;br /&gt;
&lt;br /&gt;
If SMS notifications or SMS acknowledgement will be used:&lt;br /&gt;
&lt;br /&gt;
:* The DID must support SMS.&lt;br /&gt;
:* SMS/MMS must be enabled for the DID.&lt;br /&gt;
:* Incoming SMS messages must be routed to the SIP account used by VTScada.&lt;br /&gt;
&lt;br /&gt;
== Creating a VoIP.ms Sub Account ==&lt;br /&gt;
&lt;br /&gt;
Although VTScada can be configured with the VoIP.ms Main Account, using a dedicated Sub Account is recommended.&lt;br /&gt;
&lt;br /&gt;
To create one:&lt;br /&gt;
&lt;br /&gt;
:1. Log in to the VoIP.ms Customer Portal.&lt;br /&gt;
&lt;br /&gt;
:2. Navigate to:&lt;br /&gt;
&lt;br /&gt;
::'''Sub Accounts → Create Sub Account'''&lt;br /&gt;
&lt;br /&gt;
:3. Configure the following basic options:&lt;br /&gt;
&lt;br /&gt;
::* '''Protocol:''' SIP&lt;br /&gt;
::* '''Authentication Type:''' User/Password Authentication&lt;br /&gt;
::* '''Username:''' Enter a name that identifies the VTScada system, for example:&lt;br /&gt;
:::&amp;lt;pre&amp;gt;vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
::* '''Password:''' Enter a strong and unique SIP password.&lt;br /&gt;
::* '''Caller ID Number:''' Select the DID or verified Caller ID that VTScada should present for outbound calls.&lt;br /&gt;
&lt;br /&gt;
The resulting SIP username will use the following format:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
:* '''123456''' represents your VoIP.ms account number.&lt;br /&gt;
:* '''vtscada''' represents the Sub Account username.&lt;br /&gt;
&lt;br /&gt;
Click '''Create Account''' to save the configuration.&lt;br /&gt;
&lt;br /&gt;
For additional information regarding Sub Accounts, refer to [[Sub Accounts]].&lt;br /&gt;
&lt;br /&gt;
== Selecting a VoIP.ms POP Server ==&lt;br /&gt;
&lt;br /&gt;
VTScada must register to one of the VoIP.ms SIP servers.&lt;br /&gt;
&lt;br /&gt;
Select a server that is geographically appropriate for the VTScada installation. For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same server should also be selected as the '''POP''' for any DID that will be routed directly to the VTScada SIP account.&lt;br /&gt;
&lt;br /&gt;
For more information about available servers, refer to [[Choosing Server|Choosing a Server]].&lt;br /&gt;
&lt;br /&gt;
'''Important:''' If the DID is configured on a different POP than the server used by VTScada, incoming calls may not reach the application correctly.&lt;br /&gt;
&lt;br /&gt;
== Configuring the DID ==&lt;br /&gt;
&lt;br /&gt;
A DID is not necessarily required when VTScada will only place outbound voice calls.&lt;br /&gt;
&lt;br /&gt;
A DID is required when the installation will use features such as:&lt;br /&gt;
&lt;br /&gt;
:* Receiving calls through the VoIP.ms number.&lt;br /&gt;
:* Sending SMS from a VoIP.ms number.&lt;br /&gt;
:* Receiving SMS messages.&lt;br /&gt;
:* Alarm acknowledgement through SMS.&lt;br /&gt;
&lt;br /&gt;
To configure the DID:&lt;br /&gt;
&lt;br /&gt;
:1. From the VoIP.ms Customer Portal, navigate to:&lt;br /&gt;
&lt;br /&gt;
::'''DID Numbers → Manage DID(s)'''&lt;br /&gt;
&lt;br /&gt;
:2. Locate the DID and click the '''Edit''' icon.&lt;br /&gt;
&lt;br /&gt;
=== DID POP ===&lt;br /&gt;
&lt;br /&gt;
Ensure that the '''DID Point of Presence (POP)''' corresponds to the same VoIP.ms server configured in VTScada.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DID Routing ===&lt;br /&gt;
&lt;br /&gt;
If incoming SIP calls should be delivered directly to VTScada:&lt;br /&gt;
&lt;br /&gt;
:1. Locate the '''DID Routing''' section.&lt;br /&gt;
&lt;br /&gt;
:2. Select the SIP Account routing option.&lt;br /&gt;
&lt;br /&gt;
:3. Select the Sub Account created for VTScada.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:4. Save the DID configuration.&lt;br /&gt;
&lt;br /&gt;
== SMS Configuration ==&lt;br /&gt;
&lt;br /&gt;
If VTScada will use SMS notifications or SMS acknowledgement, SMS must first be enabled on the VoIP.ms DID.&lt;br /&gt;
&lt;br /&gt;
From:&lt;br /&gt;
&lt;br /&gt;
:'''DID Numbers → Manage DID(s)'''&lt;br /&gt;
&lt;br /&gt;
Edit the desired DID and locate:&lt;br /&gt;
&lt;br /&gt;
:'''Message Service (SMS/MMS)'''&lt;br /&gt;
&lt;br /&gt;
Enable the SMS/MMS service.&lt;br /&gt;
&lt;br /&gt;
Then enable the option to route received SMS messages to a SIP Account and select the VTScada Sub Account.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SIP account must be successfully registered with VoIP.ms for incoming SIP MESSAGE requests to reach VTScada.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Avoid registering the same SIP Sub Account simultaneously on VTScada and another SIP application. Doing so may cause calls or SMS messages to be delivered to the wrong registration.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' SMS functionality should be thoroughly tested before relying on SMS acknowledgement for production alarm handling.&lt;br /&gt;
&lt;br /&gt;
== SIP Encryption ==&lt;br /&gt;
&lt;br /&gt;
VoIP.ms supports SIP signaling encryption using TLS and media encryption using SRTP.&lt;br /&gt;
&lt;br /&gt;
If encrypted SIP traffic will be used with VTScada, enable this option on the VTScada Sub Account.&lt;br /&gt;
&lt;br /&gt;
Navigate to:&lt;br /&gt;
&lt;br /&gt;
:'''Sub Accounts → Manage Sub Accounts'''&lt;br /&gt;
&lt;br /&gt;
Edit the VTScada Sub Account, display the '''Advanced Options''' and set:&lt;br /&gt;
&lt;br /&gt;
:* '''Encrypted SIP Traffic:''' Yes&lt;br /&gt;
&lt;br /&gt;
Save the configuration.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Once '''Encrypted SIP Traffic''' is enabled for the Sub Account, the SIP client must also be configured to use TLS/SRTP. Standard unencrypted SIP registrations for that Sub Account will no longer be accepted.&lt;br /&gt;
&lt;br /&gt;
For additional information, refer to [[Call Encryption - TLS/SRTP]].&lt;br /&gt;
&lt;br /&gt;
== Configuring VTScada ==&lt;br /&gt;
&lt;br /&gt;
Once the VoIP.ms SIP account has been prepared, VTScada can be configured.&lt;br /&gt;
&lt;br /&gt;
From the VTScada application:&lt;br /&gt;
&lt;br /&gt;
:1. Open the '''Application Configuration''' dialog.&lt;br /&gt;
&lt;br /&gt;
:2. Select '''Edit Properties'''.&lt;br /&gt;
&lt;br /&gt;
:3. Make sure the configuration is displayed in '''Basic Mode'''.&lt;br /&gt;
&lt;br /&gt;
:4. Select the '''Alarms''' tab.&lt;br /&gt;
&lt;br /&gt;
:5. Scroll to the '''VOIP Settings''' section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Replace with VoIP.ms Wiki screenshot --&amp;gt;&lt;br /&gt;
[[File:VTScada-VoIP-Settings.png|center|800px|thumb|VTScada VoIP Settings]]&lt;br /&gt;
&lt;br /&gt;
=== Enable VoIP Calls ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP Calls'''&lt;br /&gt;
&lt;br /&gt;
This allows the Alarm Notification System to place voice calls using the configured VoIP.ms SIP account.&lt;br /&gt;
&lt;br /&gt;
If SMS functionality will also be used, enable:&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP SMS'''&lt;br /&gt;
&lt;br /&gt;
=== Workstation ===&lt;br /&gt;
&lt;br /&gt;
Select the workstation that will act as the Alarm Notification Server.&lt;br /&gt;
&lt;br /&gt;
When multiple VTScada workstations are present, it is recommended to explicitly select the appropriate workstation rather than leaving the option set to '''Default'''.&lt;br /&gt;
&lt;br /&gt;
=== SIP Identity ===&lt;br /&gt;
&lt;br /&gt;
Enter the SIP identity using the VoIP.ms Sub Account and selected POP.&lt;br /&gt;
&lt;br /&gt;
The general format is:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:ACCOUNT_SUBACCOUNT@SERVER.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:123456_vtscada@montreal1.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the VoIP.ms Main Account is used instead, the format would be similar to:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:123456@montreal1.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Server ===&lt;br /&gt;
&lt;br /&gt;
Enter the selected VoIP.ms POP as a SIP URI.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Proxy ===&lt;br /&gt;
&lt;br /&gt;
When required by the VTScada configuration, use the same VoIP.ms POP server.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Domain ===&lt;br /&gt;
&lt;br /&gt;
Enter the hostname of the selected VoIP.ms server without the ''sip:'' prefix.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VTScada uses the SIP Domain when constructing SIP URIs for destinations stored as regular telephone numbers.&lt;br /&gt;
&lt;br /&gt;
=== SIP Login User ID ===&lt;br /&gt;
&lt;br /&gt;
Enter the complete VoIP.ms SIP username.&lt;br /&gt;
&lt;br /&gt;
For a Sub Account:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the Main Account:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SIP Password ===&lt;br /&gt;
&lt;br /&gt;
Enter the SIP password associated with the account being used.&lt;br /&gt;
&lt;br /&gt;
When using a Sub Account, this is the password configured when the Sub Account was created.&lt;br /&gt;
&lt;br /&gt;
Do not enter the VoIP.ms Customer Portal password when using a Sub Account.&lt;br /&gt;
&lt;br /&gt;
== Example Configuration ==&lt;br /&gt;
&lt;br /&gt;
A typical VTScada configuration using a VoIP.ms Sub Account might therefore appear as follows:&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP Calls:'''&lt;br /&gt;
::Enabled&lt;br /&gt;
&lt;br /&gt;
:'''Enable VOIP SMS:'''&lt;br /&gt;
::Enabled, if required&lt;br /&gt;
&lt;br /&gt;
:'''Workstation:'''&lt;br /&gt;
::The workstation hosting the Alarm Notification System&lt;br /&gt;
&lt;br /&gt;
:'''SIP Identity:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;VTScada &amp;lt;sip:123456_vtscada@montreal1.voip.ms&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Server:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Proxy:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;sip:montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Domain:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Login User ID:'''&lt;br /&gt;
::&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''SIP Password:'''&lt;br /&gt;
::The password configured for the VTScada Sub Account.&lt;br /&gt;
&lt;br /&gt;
Replace the example account number, username and server with the information from your own VoIP.ms account.&lt;br /&gt;
&lt;br /&gt;
== Telephone Number Format ==&lt;br /&gt;
&lt;br /&gt;
When telephone numbers are entered directly into a VTScada roster, use complete telephone numbers.&lt;br /&gt;
&lt;br /&gt;
For calls within the North American Numbering Plan (NANPA), using the complete 11-digit number is recommended.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;15145551234&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid spaces, parentheses and hyphens.&lt;br /&gt;
&lt;br /&gt;
For example, instead of:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;(514) 555-1234&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;15145551234&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VTScada combines the destination with the configured SIP Domain when creating the SIP URI used to place the call.&lt;br /&gt;
&lt;br /&gt;
== Configuring a Roster Tag ==&lt;br /&gt;
&lt;br /&gt;
After the SIP connection has been configured, create or modify a VTScada '''Roster Tag''' to define which users will receive alarm notifications.&lt;br /&gt;
&lt;br /&gt;
In VTScada:&lt;br /&gt;
&lt;br /&gt;
:1. Create or edit the desired Roster Tag.&lt;br /&gt;
&lt;br /&gt;
:2. Under the '''ID''' tab, configure the identifying information for the roster.&lt;br /&gt;
&lt;br /&gt;
:3. Open the '''Contacts''' tab.&lt;br /&gt;
&lt;br /&gt;
:4. Select:&lt;br /&gt;
&lt;br /&gt;
::'''+ Add Contact'''&lt;br /&gt;
&lt;br /&gt;
:5. Add the telephone number or SMS destination for each alarm recipient.&lt;br /&gt;
&lt;br /&gt;
:6. Open the '''Settings''' tab.&lt;br /&gt;
&lt;br /&gt;
:7. Configure the trigger conditions that will activate the roster.&lt;br /&gt;
&lt;br /&gt;
During initial testing, it may be useful to configure only one recipient and a short notification delay.&lt;br /&gt;
&lt;br /&gt;
Once the configuration has been validated, configure the final notification sequence required by the installation.&lt;br /&gt;
&lt;br /&gt;
== User Identification Codes ==&lt;br /&gt;
&lt;br /&gt;
VTScada can require users receiving voice alarm notifications to authenticate before acknowledging an alarm.&lt;br /&gt;
&lt;br /&gt;
For each applicable VTScada user:&lt;br /&gt;
&lt;br /&gt;
:1. Open '''Accounts'''.&lt;br /&gt;
&lt;br /&gt;
:2. Select the user.&lt;br /&gt;
&lt;br /&gt;
:3. Locate '''Alternate Identification'''.&lt;br /&gt;
&lt;br /&gt;
:4. Configure a numerical identification code or PIN.&lt;br /&gt;
&lt;br /&gt;
:5. Apply the changes.&lt;br /&gt;
&lt;br /&gt;
Provide the appropriate identification code to the corresponding alarm recipient.&lt;br /&gt;
&lt;br /&gt;
== Testing the Configuration ==&lt;br /&gt;
&lt;br /&gt;
Before placing the configuration into production, verify both the VoIP.ms SIP registration and the VTScada alarm notification process.&lt;br /&gt;
&lt;br /&gt;
=== Verify SIP Registration ===&lt;br /&gt;
&lt;br /&gt;
Log in to the VoIP.ms Customer Portal and navigate to the Portal Home.&lt;br /&gt;
&lt;br /&gt;
Locate the '''Sub Account Registration Status''' section.&lt;br /&gt;
&lt;br /&gt;
The VTScada Sub Account should appear as registered.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;123456_vtscada    Registered&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the Sub Account does not appear as registered, verify:&lt;br /&gt;
&lt;br /&gt;
:* SIP username.&lt;br /&gt;
:* SIP password.&lt;br /&gt;
:* VoIP.ms server hostname.&lt;br /&gt;
:* Network or firewall configuration.&lt;br /&gt;
:* TLS configuration, if encryption is enabled.&lt;br /&gt;
&lt;br /&gt;
=== Test Outbound Calls ===&lt;br /&gt;
&lt;br /&gt;
Configure a temporary Roster contact using a telephone number that can be answered during testing.&lt;br /&gt;
&lt;br /&gt;
Generate a test alarm and verify that:&lt;br /&gt;
&lt;br /&gt;
:* VTScada initiates the call.&lt;br /&gt;
:* The destination telephone rings.&lt;br /&gt;
:* The alarm announcement can be heard.&lt;br /&gt;
:* DTMF input is recognized.&lt;br /&gt;
:* The alarm can be acknowledged successfully.&lt;br /&gt;
&lt;br /&gt;
=== Test SMS ===&lt;br /&gt;
&lt;br /&gt;
If SMS is enabled:&lt;br /&gt;
&lt;br /&gt;
:* Send an alarm notification by SMS.&lt;br /&gt;
:* Confirm that the message is received.&lt;br /&gt;
:* Send the required acknowledgement response.&lt;br /&gt;
:* Confirm that VTScada receives and processes the response.&lt;br /&gt;
&lt;br /&gt;
Do not rely on SMS acknowledgement in production until the complete send-and-response process has been successfully tested.&lt;br /&gt;
&lt;br /&gt;
== Testing with a Softphone ==&lt;br /&gt;
&lt;br /&gt;
When troubleshooting, a SIP softphone such as MicroSIP can be temporarily configured with the same VoIP.ms credentials to verify that the account itself is operating correctly.&lt;br /&gt;
&lt;br /&gt;
This can help distinguish between:&lt;br /&gt;
&lt;br /&gt;
:* A VoIP.ms account configuration problem.&lt;br /&gt;
:* Incorrect SIP credentials.&lt;br /&gt;
:* A network or firewall issue.&lt;br /&gt;
:* A VTScada configuration issue.&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Disconnect the softphone before starting VTScada again.&lt;br /&gt;
&lt;br /&gt;
Using the same SIP account simultaneously in both applications can cause registration and routing conflicts.&lt;br /&gt;
&lt;br /&gt;
Whenever possible, separate VoIP.ms Sub Accounts should be used when multiple SIP applications must remain registered at the same time.&lt;br /&gt;
&lt;br /&gt;
== Advanced VTScada Settings ==&lt;br /&gt;
&lt;br /&gt;
=== VOIPPickUpDelay ===&lt;br /&gt;
&lt;br /&gt;
VTScada includes the advanced property:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VOIPPickUpDelay&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This value determines the interval between the start of a VoIP call and the beginning of the voice announcement.&lt;br /&gt;
&lt;br /&gt;
The VTScada default is normally 10 seconds.&lt;br /&gt;
&lt;br /&gt;
Depending on the telephone network and destination, a shorter value may provide faster alarm announcements.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VOIPPickUpDelay = 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This setting should be tested carefully since beginning playback too quickly may cause the beginning of the alarm message to be missed.&lt;br /&gt;
&lt;br /&gt;
=== VOIPPort ===&lt;br /&gt;
&lt;br /&gt;
VTScada normally uses the standard SIP port configured by the application.&lt;br /&gt;
&lt;br /&gt;
If another SIP application on the same workstation is already using the local SIP port, VTScada allows its local VoIP port to be changed through its Setup.INI configuration.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VOIPPort = 5062&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After modifying Setup.INI, restart VTScada.&lt;br /&gt;
&lt;br /&gt;
Changing the local VTScada SIP port normally does not require changing the VoIP.ms server hostname.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Registration Fails ===&lt;br /&gt;
&lt;br /&gt;
If VTScada cannot register with VoIP.ms:&lt;br /&gt;
&lt;br /&gt;
:* Confirm that the SIP Login User ID contains the complete Sub Account username.&lt;br /&gt;
::* Example:&lt;br /&gt;
:::&amp;lt;pre&amp;gt;123456_vtscada&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Confirm the SIP password.&lt;br /&gt;
:* Confirm that the correct VoIP.ms POP hostname is being used.&lt;br /&gt;
:* Check the registration status from the VoIP.ms Customer Portal.&lt;br /&gt;
:* Confirm that TLS/SRTP settings match the '''Encrypted SIP Traffic''' setting of the Sub Account.&lt;br /&gt;
:* Confirm that a firewall is not blocking SIP or RTP traffic.&lt;br /&gt;
&lt;br /&gt;
=== SIP 401 or 403 Errors ===&lt;br /&gt;
&lt;br /&gt;
VTScada's communication logs may contain SIP response codes such as:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;401 Unauthorized&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;403 Forbidden&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These generally indicate that authentication was unsuccessful.&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
:* SIP Login User ID.&lt;br /&gt;
:* SIP password.&lt;br /&gt;
:* SIP server.&lt;br /&gt;
:* Encryption configuration.&lt;br /&gt;
:* That another application is not simultaneously using the same SIP credentials.&lt;br /&gt;
&lt;br /&gt;
=== Outbound Calls Work but Incoming Calls Do Not ===&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
:* The DID is routed to the correct SIP Account.&lt;br /&gt;
:* VTScada is successfully registered.&lt;br /&gt;
:* The DID POP matches the VoIP.ms server used by VTScada.&lt;br /&gt;
&lt;br /&gt;
For example, if VTScada registers to:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the DID should normally also use:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;montreal1.voip.ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Calls Connect but There Is No Audio ===&lt;br /&gt;
&lt;br /&gt;
If a call connects but audio is missing in one or both directions:&lt;br /&gt;
&lt;br /&gt;
:* Verify the firewall configuration.&lt;br /&gt;
:* Verify that RTP traffic is permitted between the VTScada workstation and VoIP.ms.&lt;br /&gt;
:* Check for SIP ALG on the router and disable it when it interferes with SIP communication.&lt;br /&gt;
:* Review the VTScada VoIP communication logs.&lt;br /&gt;
&lt;br /&gt;
=== SMS Can Be Sent but Replies Are Not Received ===&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
:* SMS/MMS is enabled on the DID.&lt;br /&gt;
:* The DID is configured to route received SMS messages to the VTScada SIP Account.&lt;br /&gt;
:* The VTScada SIP Account is registered.&lt;br /&gt;
:* The same SIP account is not registered simultaneously on another application.&lt;br /&gt;
:* TLS settings are consistent between VTScada and VoIP.ms.&lt;br /&gt;
&lt;br /&gt;
=== Viewing VTScada VoIP Logs ===&lt;br /&gt;
&lt;br /&gt;
VTScada can generate VoIP communication logs for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
These logs are normally stored under:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;VTScada\TraceFiles\VOIPLogs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Review the logs for SIP registration errors, rejected requests and authentication responses.&lt;br /&gt;
&lt;br /&gt;
The logs can be particularly useful when determining whether a problem occurs before or after communication reaches the VoIP.ms server.&lt;br /&gt;
&lt;br /&gt;
== Security Recommendations ==&lt;br /&gt;
&lt;br /&gt;
Because VTScada may be responsible for critical alarm notifications, additional security measures are recommended.&lt;br /&gt;
&lt;br /&gt;
:* Use a dedicated VoIP.ms Sub Account for VTScada.&lt;br /&gt;
:* Use a strong and unique SIP password.&lt;br /&gt;
:* Do not expose the VTScada management interface directly to the public Internet.&lt;br /&gt;
:* Consider enabling [[Call Encryption - TLS/SRTP|TLS/SRTP]].&lt;br /&gt;
:* Consider using VoIP.ms POP and IP restrictions where appropriate.&lt;br /&gt;
:* Disable international calling on the Sub Account if it is not required.&lt;br /&gt;
:* Restrict outbound calling capabilities to only those services required by the installation.&lt;br /&gt;
:* Regularly verify that alarm notifications are operating correctly.&lt;br /&gt;
&lt;br /&gt;
Refer to [[General Security]] for additional VoIP.ms security recommendations.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
:* [[Sub Accounts]]&lt;br /&gt;
:* [[Manage DID]]&lt;br /&gt;
:* [[SMS]]&lt;br /&gt;
:* [[Choosing Server|Choosing a Server]]&lt;br /&gt;
:* [[Call Encryption - TLS/SRTP]]&lt;br /&gt;
:* [[General Security]]&lt;br /&gt;
:* [[DID Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
== External Documentation ==&lt;br /&gt;
&lt;br /&gt;
:* VTScada — ''Using VoIP for Alarm Notification''&lt;br /&gt;
:* VTScada — ''Setting Up a Specific VoIP Connection''&lt;br /&gt;
&lt;br /&gt;
[[Category:PBX]]&lt;br /&gt;
[[Category:VoIP Software]]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/Incredible_PBX_2027</id>
		<title>Incredible PBX 2027</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/Incredible_PBX_2027"/>
				<updated>2026-09-22T18:15:31Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:IncrediblePBX-VoIPms.jpg|300px|right|link=https://incrediblepbx.com/|IncrediblePBX]]&lt;br /&gt;
&lt;br /&gt;
Incredible PBX is an open source, GPL aggregation which bundles industry-leading components to provide a production-ready, turnkey unified communications VoIP platform with support for SIP and IAX. IncrediblePBX® includes a choice of CentOS®, Rocky®, Debian®, Ubuntu®, or Raspbian® operating systems coupled with the Apache® web server, PHP®, MariaDB®/MySQL® DBMS, SendMail® or Exim® mail server, HylaFax®/AvantFax®, WebMin®, OpenVPN®, NeoRouter® VPN, IPtables firewall plus Fail2Ban® and PortKnocker®, and the latest releases of Asterisk® and FreePBX®. It is the only aggregation offering the ability to customize and recompile Asterisk from source code with your choice of Asterisk versions. Versions of Incredible PBX can be deployed with on-premise hardware including the Raspberry Pi®, in the cloud on a variety of platforms, or on virtual machine platforms: VirtualBox®, VMware®. Proxmox®, Windows 11 WSL, Mac UTM, and Linux LXC Containers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pre-requisites ==&lt;br /&gt;
Before proceeding, a sub-account is required. This will be your SIP trunk.&lt;br /&gt;
You can create one under your VoIP.ms client portal, under '''Sub Account''' &amp;gt; '''Create Sub-Account'''. Be sure you have those following setting in it. &lt;br /&gt;
:- '''Authentication type''': (x) User/Password Authentication&lt;br /&gt;
:- '''Device type''': (x) Asterisk, IP PBX, Gateway or VoIP Switch&lt;br /&gt;
:- '''CallerID Number''': (x) I use a system capable of passing its own CallerID&lt;br /&gt;
:- '''Allowed Codecs''': Select '''[x] G711u''' ''Default codec'' and '''[x] G722''' for HD voice&lt;br /&gt;
&lt;br /&gt;
= Trunk Configuration =&lt;br /&gt;
&lt;br /&gt;
When you install IncrediblePBX, it comes with multiple trunk preset that helps you to get up and running faster. VoIP.ms is present in the list.&lt;br /&gt;
&lt;br /&gt;
We will reuse the one that is already present and adapt the configuration.&lt;br /&gt;
&lt;br /&gt;
: '''[1]''': Log into your IncrediblePBX admin.&lt;br /&gt;
: '''[2]''':  Go under '''&amp;quot;Connectivity&amp;quot;''' tab then '''&amp;quot;Trunk&amp;quot;'''.&lt;br /&gt;
: '''[3]''':  Search for the trunk '''&amp;quot;VoIPms-Registered&amp;quot;''' and click on '''&amp;quot;Edit&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
== General tab ==&lt;br /&gt;
&lt;br /&gt;
: '''[1]''': '''Trunk Name''': You can change the name of the trunk. Must be in lowercases. Hyphen is accepted.&lt;br /&gt;
: '''[2]''': '''Outbound CallerID''': (Optional, you can leave it empty and define the caller ID on your outbound route instead. &lt;br /&gt;
:: If you want to define a specific outbound caller ID Name and Number for all outbound calls that will use this trunk. &lt;br /&gt;
:: If you do so, after setting the caller ID, you will need to select '''Force Trunk CID''' on the ''CID Option''. The format whould be:&lt;br /&gt;
&lt;br /&gt;
:: Enter your CallerID Name and Number in the following format:&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:50px; &lt;br /&gt;
            padding:5px; &lt;br /&gt;
            font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;&lt;br /&gt;
            color: silver;&lt;br /&gt;
            border-left: 6px solid rgb(208, 56, 45, 0.8); &lt;br /&gt;
            box-shadow: 8px 6px 9px -2px #f2f2f2;&lt;br /&gt;
            background-color: black; &lt;br /&gt;
            width:70%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;quot;CALLERID NAME&amp;quot; &amp;lt;##########&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:50px; &lt;br /&gt;
            padding:8px; &lt;br /&gt;
            border-left: 6px solid rgb(73, 111, 199, 0.8); &lt;br /&gt;
            box-shadow: 5px 4px 4px 4px #f5f5f5; &lt;br /&gt;
            background-color: rgba(73, 111, 199, 0.08); &lt;br /&gt;
            width:70%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''⚠️ IMPORTANT - Outbound CallerID'''&amp;lt;br/&amp;gt;&lt;br /&gt;
* Entering outbound Caller ID Name, it must be in '''CAPITAL LETTERS'''. ''This will appears more clearly/visible on some devices.'' &amp;lt;br/&amp;gt;&lt;br /&gt;
* You must '''NOT use any special characters'''. ''They will not be displayed and it prevents potential outbound call issues.'' &amp;lt;br/&amp;gt;&lt;br /&gt;
* Do '''NOT exceed 15 characters'''. ''Traditional canadian providers will '''not show more than 15 characters'''. We suggest shrinking or adapt the name.''&amp;lt;br/&amp;gt;&lt;br /&gt;
* Spaces are allowed in a caller ID name but count as a characters. ''(do not exceed 15 chars. in total)''.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
:&lt;br /&gt;
: '''[3]''': '''Disable Trunk''': Set it to '''No'''&lt;br /&gt;
&lt;br /&gt;
== Dial Number Manipulation Rules Tab ==&lt;br /&gt;
: Leave this section empty. &lt;br /&gt;
&lt;br /&gt;
== sip Settings Tab ==&lt;br /&gt;
=== Outgoing tab ===&lt;br /&gt;
You will need to adapt the '''PEER Details'''&lt;br /&gt;
: '''Trunk Name''': You can change the name of the trunk. Must be in lowercases. Hyphen is accepted.&lt;br /&gt;
: '''PEER Details''': Change the '''username''', '''secret''', '''host''', '''fromuser''', '''allow'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:50px; &lt;br /&gt;
            padding:5px; &lt;br /&gt;
            font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;&lt;br /&gt;
            color: silver;&lt;br /&gt;
            border-left: 6px solid rgb(208, 56, 45, 0.8); &lt;br /&gt;
            box-shadow: 8px 6px 9px -2px #f2f2f2;&lt;br /&gt;
            background-color: black; &lt;br /&gt;
            width:58%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;username&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#00FF00&amp;quot;&amp;gt;######_SubAccount&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;type&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;friend&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;trustrpid&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;yes&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;sendrpid&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;yes&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;secret&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#00FF00&amp;quot;&amp;gt;YourSubaccountPasswordHere&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;qualify&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;yes&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;nat&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;yes&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;insecure&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;port,invite&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;host&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#00FF00&amp;quot;&amp;gt;atlanta.voip.ms&amp;lt;/font&amp;gt; &amp;amp;nbsp; ;This is the pop server that matches your DID.&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;fromuser&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#00FF00&amp;quot;&amp;gt;######_SubAccount&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;disallow&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;all&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;context&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;from-trunk&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;canreinvite&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;nonat&amp;lt;/font&amp;gt;&lt;br /&gt;
: &amp;lt;font color=&amp;quot;#FFFF00&amp;quot;&amp;gt;allow&amp;lt;/font&amp;gt;=&amp;lt;font color=&amp;quot;#00FF00&amp;quot;&amp;gt;g722&amp;amp;ulaw&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Incoming tab ===&lt;br /&gt;
&lt;br /&gt;
Adjust the '''register String''' with your sub-account credentials. It must be formated this way. &lt;br /&gt;
&lt;br /&gt;
::'''Sub-account username''' : '''Sub-account Password''' @ '''VoIPmsPOP.voip.ms''' / '''Sub account username'''&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:50px; &lt;br /&gt;
            padding:5px; &lt;br /&gt;
            font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;&lt;br /&gt;
            color: silver;&lt;br /&gt;
            border-left: 6px solid rgb(208, 56, 45, 0.8); &lt;br /&gt;
            box-shadow: 8px 6px 9px -2px #f2f2f2;&lt;br /&gt;
            background-color: black; &lt;br /&gt;
            width:58%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;######_SubAccount&amp;lt;/font&amp;gt;:&amp;lt;font color=&amp;quot;#F0F00F&amp;quot;&amp;gt;YourSubAccountPassword&amp;lt;/font&amp;gt;@&amp;lt;font color=&amp;quot;#00FF00&amp;quot;&amp;gt;montreal1.voip.ms&amp;lt;/font&amp;gt;/&amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;######_SubAccount&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inbound Route ==&lt;br /&gt;
=== General tab ===&lt;br /&gt;
:'''[1]''': Go under '''Connectivity''' then '''Inbound Routes'''&lt;br /&gt;
:'''[2]''': Click on '''+ Add Inbound Route'''&lt;br /&gt;
::'''-''' '''Description''': Enter a description for this inbound route.&lt;br /&gt;
::'''-''' '''DID Number''': Enter your DID Number. ''(Without Hyphen, dot or parentheses)''&lt;br /&gt;
::'''-''' '''Set destination''': Choose the destination where you want to route the incoming call.&lt;br /&gt;
:'''[3]''': Click '''Save'''&lt;br /&gt;
:'''[4]''': Click '''Reload''' on the corner Right of the window.&lt;br /&gt;
&lt;br /&gt;
== Outbound Routes ==&lt;br /&gt;
If you just install IncrediblePBX, you will find an outbound route named &amp;quot;default&amp;quot;. You can adapt it to use the VoIP.ms route you have created. &lt;br /&gt;
&lt;br /&gt;
:'''[1]''': Go under '''Connectivity''' then '''Outbound Routes'''&lt;br /&gt;
:'''[2]''': Where the outbound route named '''Default''', click on the '''Edit''' button. ''(Or you can create a new Outbound route by clicking on &amp;quot;+ Add Outbound Route&amp;quot;)'' &lt;br /&gt;
&lt;br /&gt;
=== Route settings tab===&lt;br /&gt;
:'''[1]''': '''Route Name''': You can change the name of your default route if you need. &lt;br /&gt;
:'''[2]''': '''Route CID''': (Optional, you can leave it empty if you defined the caller ID directly in the trunk settings. &lt;br /&gt;
:: If you want to define a specific outbound caller ID Name and Number for all outbound calls that will use this outbound route. &lt;br /&gt;
:: Enter your CallerID Name and Number in the following format:&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:50px; &lt;br /&gt;
            padding:5px; &lt;br /&gt;
            font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;&lt;br /&gt;
            color: silver;&lt;br /&gt;
            border-left: 6px solid rgb(208, 56, 45, 0.8); &lt;br /&gt;
            box-shadow: 8px 6px 9px -2px #f2f2f2;&lt;br /&gt;
            background-color: black; &lt;br /&gt;
            width:70%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;quot;CALLERID NAME&amp;quot; &amp;lt;##########&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:50px; &lt;br /&gt;
            padding:8px; &lt;br /&gt;
            border-left: 6px solid rgb(73, 111, 199, 0.8); &lt;br /&gt;
            box-shadow: 5px 4px 4px 4px #f5f5f5; &lt;br /&gt;
            background-color: rgba(73, 111, 199, 0.08); &lt;br /&gt;
            width:70%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''⚠️ IMPORTANT - Outbound CallerID'''&amp;lt;br/&amp;gt;&lt;br /&gt;
* Entering outbound Caller ID Name, it must be in '''CAPITAL LETTERS'''. ''This will appears more clearly/visible on some devices.'' &amp;lt;br/&amp;gt;&lt;br /&gt;
* You must '''NOT use any special characters'''. ''They will not be displayed and it prevents potential outbound call issues.'' &amp;lt;br/&amp;gt;&lt;br /&gt;
* Do '''NOT exceed 15 characters'''. ''Traditional canadian providers will '''not show more than 15 characters'''. We suggest shrinking or adapt the name.''&amp;lt;br/&amp;gt;&lt;br /&gt;
* Spaces are allowed in a caller ID name but count as a characters. ''(do not exceed 15 chars. in total)''.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''[3]''': '''Trunk Sequence for Matched Routes''': Replace the current Trunk to the one we have edited. Eg: VoIPms-Registered. (Or then name you have entered.) Then delete the other trunks below by pressing the trash icon.&lt;br /&gt;
&lt;br /&gt;
=== Dial Pattern tab ===&lt;br /&gt;
&lt;br /&gt;
You can customize this section if you need specific rules matching your needs, such as a  '''&amp;quot;prefix&amp;quot;''' to dial out through the trunk you have selected.&lt;br /&gt;
:''Eg: if you enter '''9''' on prefix section'', you will need to dial 9 following the matching pattern to make the call. The prefix will be removed when it will be send to the trunk.&lt;br /&gt;
&lt;br /&gt;
::'''You can use the following patterns compatible for VoIPms in the colomn &amp;quot;[Match Pattern]&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:50px; &lt;br /&gt;
            padding:5px; &lt;br /&gt;
            font-family: Consolas, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;&lt;br /&gt;
            color: silver;&lt;br /&gt;
            border-left: 6px solid rgb(208, 56, 45, 0.8); &lt;br /&gt;
            box-shadow: 8px 6px 9px -2px #f2f2f2;&lt;br /&gt;
            background-color: black; &lt;br /&gt;
            width:70%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background: inherit; color: silver;&amp;quot;&lt;br /&gt;
! scope=col style=&amp;quot;text-align:left; width:25%;&amp;quot;   | '''MATCH PATTERN COL'''&lt;br /&gt;
----&lt;br /&gt;
! scope=col style=&amp;quot;text-align:left;&amp;quot;              | ''Description''&lt;br /&gt;
----&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;NXXNXXXXXX&amp;lt;/font&amp;gt;  || ''(North American phone number)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;1NXXNXXXXXX&amp;lt;/font&amp;gt; ||''(North American phone number with country code 1)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;4443&amp;lt;/font&amp;gt;        || ''(Echo test)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;4747&amp;lt;/font&amp;gt;        || ''(DTMF test)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;988&amp;lt;/font&amp;gt;         || ''(Health line)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;911&amp;lt;/font&amp;gt;         || ''(Emergency)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;822&amp;lt;/font&amp;gt;         || ''(CallerID playback)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;511&amp;lt;/font&amp;gt;         || ''(Weather service)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;411&amp;lt;/font&amp;gt;         || ''(Directory assistance)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;311&amp;lt;/font&amp;gt;         || ''(Non-emergency)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;211&amp;lt;/font&amp;gt;         || ''(Municipality line)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;00XX.&amp;lt;/font&amp;gt;       || ''(Int. prefix, that uses the route set under the sub-account)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;011XX.&amp;lt;/font&amp;gt;      || '' (Int. prefix, that uses the route set under the sub-account)''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;033XX.&amp;lt;/font&amp;gt;      || '' (Int. prefix, that will force using the &amp;lt;u&amp;gt;'''Value'''&amp;lt;/u&amp;gt; route only for the call)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;#00FFFF&amp;quot;&amp;gt;044XX.&amp;lt;/font&amp;gt;      || '' (Int. prefix, that will force using the &amp;lt;u&amp;gt;'''Premium'''&amp;lt;/u&amp;gt; route only for the call)&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''[4]''': Click '''Save'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Outbound SMS ==&lt;br /&gt;
An outbound SMS module can be added to Incredible PBX 2027 using the '''smsrouting FreePBX module''' and a PJSIP trunk.&lt;br /&gt;
&lt;br /&gt;
The module adds a Connectivity → VoIP.ms SMS option to the FreePBX interface and allows outbound SMS messages to be sent through a VoIP.ms DID.&lt;br /&gt;
&lt;br /&gt;
The installation instructions and configuration details, including the required Asterisk dialplan and the smsrouting FreePBX module, are available in the following VoIP-info.org forum thread: [https://www.voip-info.org/forum/threads/outbound-sms-freepbx-module.28789/#post-183772 Here]&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-VoIP-EditDID.png</id>
		<title>File:VTScada-VoIP-EditDID.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-VoIP-EditDID.png"/>
				<updated>2026-09-15T23:11:29Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-VoIP-CreateSubAccountMenu.png</id>
		<title>File:VTScada-VoIP-CreateSubAccountMenu.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-VoIP-CreateSubAccountMenu.png"/>
				<updated>2026-09-15T22:55:17Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-VoIP-ManageDID.png</id>
		<title>File:VTScada-VoIP-ManageDID.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-VoIP-ManageDID.png"/>
				<updated>2026-09-15T22:20:41Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/File:VTScada-VoIPms_DIDROUTING.png</id>
		<title>File:VTScada-VoIPms DIDROUTING.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/File:VTScada-VoIPms_DIDROUTING.png"/>
				<updated>2026-09-15T22:19:15Z</updated>
		
		<summary type="html">&lt;p&gt;Scomtois: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scomtois</name></author>	</entry>

	</feed>