SIP2 is a protocol created and controlled by 3M |
The Standard Interchange Protocol is a proprietary standard for communication between library computer systems and self-service circulation terminals. Although owned and controlled by 3M, the protocol is published and is widely used by other vendors. Version 2.0 of the protocol, known as «SIP2», is a de facto standard for library self-service applications. This protocol will be eventually replaced with the NCIP Protocol.
This post will go though how to setup a SIP2 Server on Windows; even though setting up a SIP2 Server is relatively trivial, you need to have few things in place first before you add the SIP2 Service.
- The server must have a connection with the ILS database. The database we will be basing this off will be a Microsoft SQL Server.
- An ACS profile setup for the SIP server to talk to (typically 6 characters but may vary depending on ILS)
- You need Java Version 6 or better (I am using the latest version 8.144)
- The SIP2 Installer Files and DLLs for your ILS
- This will be based off Windows Server 2012 Essentials
Go to and launch the setupwin32.exe. In my case it is in C:\Users\$USERNAME\Documents\SIP Install Files\SIP1.4.108\
Install the setup I have is not for the latest version of the ILS I am working on but I do have the DLLs which I will replace in the BIN folder once the SIP Service Wrapper is installed.
Run through the installer. All SIP connections should be saved to C:/sirsidynix/”Sip$PORT#_$name” NOTE: Make sure you make the directory first otherwise you will get an error!
Example: Sip$PORT#_hoopla
When finished go to and run modify/create the port run the setup.bat located in C:\sirsidynix\Sip$PORT#_$name\bin\setup.bat
Run the setupwin32.exe in my case C:\Users\$USERNAME\Documents\SIP Install Files\SIP1.4.108\
Install the setup for the latest version of your ILS and replace the DLL files for the latest version of your ILS; you may have to get them from your ILS Vendor.
|
SIP 2 Service Installer |
|
SIP 2 Settings Host: $DATABASE HOST/IP
Database: $DATABASE Database Type: MS SQL Server Database Username: $DBUSERNAME Database Password: $DBPASSWORD location: $LOCATION ACS Profile: “Get the 6 character code you created or from an ILS Administrator”
Replace DLLs. with the dlls for your ILS Start The Service. Testing a SIP Service
To test the service on the sip server use the ACSTester.exe located in the bin directory. click connect type in localhost, $port (Port you just created probably something like 60xx) Click Create Message select “63 Patron Information” and click create message In the patron Identifier type in “test” with no quotes and hit ok click send message You should see something like the screen above (unknown borrow barcode) if the test is successful.
|
|
ACS SIP2 Tester |
How to Configure Microsoft Teams SIP Gateway | Poly Edge E ‘n’ VVX X50
Hello, everyone! In this blog post, I’ll be talking about Microsoft Teams SIP Gateway to enable your company use compatible SIP devices with Microsoft Teams, and preserve legacy phones and your investment in them.
|
Microsoft Teams SIP Gateway |
As you can see in the image above, you don’t need to connect your phones to a SBC, and there’s no additional cost for using MS SIP Gateway, you only need to meet the following requirements:
- You must be licensed for Teams Phone
- PSTN Enablement
- Common area device requires a CAP license
First of all, ensure that you have a supported phone (I recommend you take a look at this list of supported devices), your firewall is open to traffic from Microsoft 365 and Teams, and SIP devices are not behind a proxy. Also, follow the steps below:
- Open UDP ports 49152 to 53247, and TCP port 5061 for IP ranges 52.112.0.0/14 and 52.120.0.0/15
- Reset your phone to factory default settings, contact your provider for assistance or, see the manufacturer’s instructions to find out how to do it.
- Turn on SIP devices can be used for call calling policy in MS Teams Admin Center
- Point your device to SIP Gateway provisioning server
Turning on SIP Devices Option in TAC
Let’s get into Microsoft Teams Admin Center, go to admin.teams.microsoft.com. Select Voice, Calling Policies, and the desired policy to edit. In this case, I selected Global Policy.
Turn on «SIP devices can be used for calls» and click on Save.
Note: If you use Poly Lens, skip the next section and go to the section called «Poly Lens Assisted Provisioning Feature on a Policy Layer».
Pointing to MS SIP Gateway via WUI
Now, let’s point your phone to SIP Gateway provisioning server. Get your phone’s IP address and enter it on you preferred browser. Click on Settings and Provisioning Server.
Set Server Type as HTTP, under DHCP Menu, set boot server as Static, and you need to fill out server address field, but where are you at? Set one of the following SIP Gateway provisioning server URLs:
- EMEA: http://emea.ipp.sdg.teams.microsoft.com
- Americas: http://noam.ipp.sdg.teams.microsoft.com
- APAC: http://apac.ipp.sdg.teams.microsoft.com
Language support
To support regional language requirements, SIP devices can be configured at the time of provisioning to enable having the visual display, softkeys and touchscreen configured within the localized language required. Assign the respective regional provisioning URL with required local language reference code as shown within the examples below:
- Device located within EMEA supporting German
- http://emea.ipp.sdg.teams.microsoft.com/lang_de
- Device located within APAC supporting Japanese
- http://apac.ipp.sdg.teams.microsoft.com/lang_ja
- Device located within Americas supporting Spanish
- http://noam.ipp.sdg.teams.microsoft.com/lang_es
Language reference codes |
I’m in Americas and I speak both English and Spanish, so I need to use the corresponding provisioning server URL and i won’t add any language reference code since English is used as the default language. After that and before saving configurations, check your configurations, click on Save button, and select Yes.
Your phone will reboot, and it’ll take a couple of minutes to complete the provision. Before finishing up and after first reboot, you’ll see the following screen on your phone:
|
VVX User Interface |
After that, your phone will reboot again in order to download new application and extract application files, it may take 5-10 minutes to complete the process. Once the phone completed the provision, you will see the following screen:
VVX User Interface |
Once initial provisioning completes, the server address will auto update containing details of the onboarding state of the device along with the MAC address associated.
Note: If you already completed the steps above, or you don’t use Poly Lens, skip the next section and go to Signing in Section.
Poly Lens Assisted Provisioning Feature on a Policy Layer
Before
running this process, make sure your Poly Edge E or VVX phones are
provisioned on Lens, if you don’t know how to get that done, check out this post on my blog.
Go to lens.poly.com, select Manage -> Policies
Click on Site and choose the site where your devices are, my home office, for instance.
Select Device Families -> Add
We’re gonna create a policy for Edge E Series, but you can create one for VVX. So, i am choosing Poly Edge E family, after choosing a family, click on Continue.
Go to General -> Settings Language and set language to the desired language.
Now, go to Integrations -> Microsoft Teams,
and set SIP Gateway Region to your Region and device language to the
one that you set before. For instance, I’m in Americas region and chose
Spanish before, so I am gonna go with Americas and Spanish, after that, click on Apply.
A window will pop up, please select OK, and your policy has been created succesfully.
Singing In
Finally, select Sing In on your phone’s screen.
Edge E
Go to https://aka.ms/siplogin, type in your pair code and select Next.
Type in your account and password and sign in.
Enter your pair code and select «Pair» button.
Skip the following section about VVX, and scroll down to continue reading this blog post.
VVX
Go to microsoft.com/devicelogin, type in your pair code and select Next.
After typing in the code, you must pick an account (1st) , select Continue(2nd) and that’s all!
1st Step |
2nd Step |
3rd Step |
Edge E and VVX
Your phone will reboot, and your phone number will be shown on phone’s screen.
VVX |
VVX |
|
Edge E |
Testing our Phone
It’s
time to test your phone!! Let’s make and get calls, the pictures below
show my phone on a Call through Microsoft Teams SIP Gateway.
Onboarded devices are visible in MS Teams Admin Center after first sign-in, therefore, you can sign out them through TAC.
Signing Out
To
sign out a device, you can do it on Microsoft Teams Admin Center or, a
user can do it on their SIP Device. On TAC, select Teams devices and SIP
devices, and then Sign out.
On
phone’s screen, select More to display Sign Out option and follow the
steps describe on your device, after that, your phone will reboot.
Now, your phone is ready to sign in again.
You have any questions? Feel free to reach out or leave a comment. Don’t forget to subscribe to my YT channel and this blog, and follow me on my social media. 😎
Introduction:
This guide provides detailed instructions on configuring Microsoft SIP Gateway to enable the use of compatible SIP devices with Microsoft Teams. Follow these steps to ensure seamless integration and proper functionality within your organization.
Section 1: Prerequisites for Configuring SIP Gateway
- Before configuring the Microsoft SIP Gateway, it’s essential to complete some prerequisites to ensure seamless integration and proper functionality. This in-depth guide will walk you through each step of Section 1: Prerequisites for Configuring SIP Gateway.
- Reset SIP devices to factory default settings: Each SIP device used with SIP Gateway must be reset to its factory default settings. To do this, consult the manufacturer’s instructions for your specific device. This step ensures that any previous configurations do not interfere with the new settings you will apply for Microsoft Teams integration.
- Open your firewall to Microsoft 365 and Teams: To allow Microsoft 365 and Teams traffic, you must open your network’s firewall. Follow the guidelines described in Office 365 URLs and IP address ranges. Firewall rules are required for outbound traffic only, which ensures that your organization’s communications can reach Microsoft’s services without any issues.
- Ensure SIP devices are not behind a proxy: Verify that your SIP devices’ HTTP/HTTPS traffic bypasses any corporate HTTP/HTTPS proxy. This step is crucial to maintain a direct connection between your SIP devices and Microsoft’s services, preventing any delays or connectivity issues due to proxy interference.
- Open the required UDP and TCP ports: Open the necessary UDP and TCP ports to enable proper communication between your SIP devices and Microsoft’s services. Follow these steps:
- Open UDP port in the range 49152 to 53247 for IP ranges 52.112.0.0/14 and 52.122.0.0/15. These ports allow real-time communication and media streaming between devices.
- Open TCP port 5061 for IP ranges 52.112.0.0/14 and 52.122.0.0/15. This port is used for secure signaling and communication between your SIP devices and Microsoft Teams.
Open the specified IP addresses: To ensure proper connectivity, you need to open the following IP addresses:
- 13.75.175.145
- 52.189.219.201
- 51.124.34.164
- 13.74.250.91
- 13.83.55.36
- 23.96.103.40
These IP addresses correspond to Microsoft’s services, and opening them in your firewall ensures that your SIP devices can communicate effectively with the necessary resources.
Section 2: Administrator Configuration Steps
As an administrator, configuring Microsoft SIP Gateway involves verifying its availability, enabling it for users, setting the provisioning server URL, and configuring conditional access. This in-depth guide will provide a detailed walkthrough of each step in Section 2: Configuring SIP Gateway as an Administrator.
- Verify that SIP Gateway is available for your organization:
Before enabling the SIP Gateway, ensure that the service is enabled for your organization by following these steps:
a. Sign in to the Teams admin center.
b. On the left side, select «Teams devices» and check if the «SIP devices» tab is visible. If the tab is present, the SIP Gateway service is enabled for your organization.
- Enable SIP Gateway for the users in your organization:
There are two methods to enable the SIP Gateway for your organization: using the Teams admin center or using a PowerShell cmdlet.
Method 1: Using Teams admin center
a. Go to the Teams admin center.
b. On the left side, under «Voice,» select «Calling policies.»
c. On the right side, under «Manage policies,» select the appropriate calling policy assigned to users or create a new calling policy and assign it to the required users.
d. Select «Manage policies,» choose a policy, and then click «Edit.»
e. Turn on the setting for «SIP devices can be used for calls,» and then click «Save.»
Method 2: Using PowerShell
a. Enable SIP Gateway using the PowerShell «Set-CsTeamsCallingPolicy» cmdlet.
b. To enable users for SIP devices, select a policy and set the «-AllowSIPDevicesCalling» attribute to «True.»
c. The default value is «False,» so users will not be able to use their SIP devices unless you enable them.
- Set the SIP Gateway provisioning server URL:
You can set the SIP Gateway provisioning server’s URL in your Dynamic Host Configuration Protocol (DHCP) server. Users who work remotely must configure it manually.
For each SIP device, set one of the following SIP Gateway provisioning server URLs:
- EMEA: http://emea.ipp.sdg.teams.microsoft.com
- Americas: http://noam.ipp.sdg.teams.microsoft.com
- APAC: http://apac.ipp.sdg.teams.microsoft.com
Add SIP devices to your Teams organization by configuring the above SIP Gateway provisioning server URL in your DHCP server. To learn more about DHCP server, see «Deploy and manage DHCP.»
Remote users must manually configure the provisioning server URL in their SIP device by following these steps:
a. Open «Settings» on the device and get the device’s IP address.
b. Open a browser window, enter the device’s IP address, log in (if necessary), and configure the provisioning server’s URL in the device’s web utility.
c. Under «Settings» or «Advanced settings» on the web utility, enter the provisioning server URL mentioned above.
- Configure conditional access:
Conditional Access is an Azure Active Directory (Azure AD) feature that helps ensure that devices accessing your Microsoft 365 resources are properly managed and secure. SIP Gateway authenticates SIP devices with Azure AD, so if your organization uses Conditional Access for devices in the corporate network, you should exclude the following IP addresses for each region:
- East US: 52.170.38.140
- West US: 40.112.144.212
- North EU: 40.112.71.149
- West EU: 40.113.112.67
- Australia East: 20.92.120.71
Section 3: Device Onboarding and Conditional Access Configuration
In this guide, we’ll take a detailed look at configuring SIP devices for integration with Microsoft Teams. This involves preparing the device, creating an XML configuration file, and configuring the device’s settings. These steps will ensure a seamless connection between your SIP devices and Microsoft Teams.
- Prepare the SIP device:
Before integrating the SIP device with Microsoft Teams, ensure that the device has the latest firmware and that it is compatible with Microsoft Teams. Check the manufacturer’s website for firmware updates and compatibility information.
- Create the XML configuration file:
You will need to create an XML configuration file that includes the SIP device’s settings. This file will be uploaded to the device during the configuration process. The XML file should include the following parameters:
- SIP Server: The FQDN (Fully Qualified Domain Name) of the Teams SIP Proxy
- SIP User: The user’s SIP URI (Uniform Resource Identifier)
- SIP Authentication Name: The user’s username
- SIP Authentication Password: The user’s password
Here’s a sample XML configuration file:
<?xml version=»1.0″ encoding=»UTF-8″?>
<server>teams-sip-proxy.example.com</server>
<user>sip:user@example.com</user>
<auth_name>username</auth_name>
<auth_password>password</auth_password>
- Configure the SIP device settings:
After creating the XML configuration file, you need to upload it to the SIP device and configure the device’s settings.
a. Access the device’s web interface:
- Connect the SIP device to your network.
- Find the device’s IP address from its display or the manufacturer’s documentation.
- Open a web browser and enter the device’s IP address.
b. Log in to the web interface:
- Use the default username and password provided by the manufacturer.
- If you’ve changed the credentials previously, use the updated ones.
c. Upload the XML configuration file:
- Navigate to the device’s configuration settings.
- Locate the option to upload an XML configuration file (often under «Provisioning» or «Advanced Settings»).
- Upload the XML file created earlier.
d. Configure the device’s settings:
- Enter the SIP server, user, authentication name, and authentication password from the XML configuration file into the corresponding fields in the device’s web interface.
- Apply the changes and reboot the device.
- Test the SIP device with Microsoft Teams:
Once the SIP device is configured, test its functionality with Microsoft Teams.
a. Sign in to Microsoft Teams with the SIP device:
- Enter the SIP device’s credentials (username and password) and sign in.
b. Make and receive calls:
- Place a test call from the SIP device to another Teams user and verify that both audio and video are working.
- Have another Teams user call the SIP device and ensure that the call connects successfully.
- Monitor the call quality and connection stability during the test calls.
- Address any issues by reviewing the device’s configuration settings and network connectivity.
By following these steps, you can successfully configure your SIP devices for integration with Microsoft Teams. This will allow users to make and receive calls using their SIP devices in a Teams environment, ensuring a seamless communication experience.
Section 4: Monitoring, Managing, and Troubleshooting SIP Devices
Monitoring and troubleshooting SIP devices connected to Microsoft Teams is essential to ensure optimal performance and user experience. In this in-depth guide, we’ll discuss the monitoring and troubleshooting tools available in Microsoft Teams and how to use them effectively to maintain a seamless SIP device integration.
- Microsoft Teams Admin Center:
The Microsoft Teams Admin Center is a powerful web-based tool that provides a central location to manage and monitor Teams settings, devices, and users. Access the Admin Center by logging in to https://admin.teams.microsoft.com using your admin credentials.
- Navigate to «Devices» in the left-hand menu.
- Choose «IP Phones» or «Room Devices» to view a list of registered SIP devices.
- Check device status, firmware version, and other device information.
b. Troubleshoot SIP devices:
- In case of device issues, use the «Health» column to identify any problems.
- Click on a specific device to access detailed information, including error messages and suggested troubleshooting steps.
- Microsoft Teams Call Analytics:
Call Analytics in Microsoft Teams provides detailed call data to help identify and troubleshoot call quality and connection issues.
a. Access Call Analytics:
- In the Teams Admin Center, navigate to «Users» and select the user associated with the SIP device.
- Click on «Call history» to view a list of recent calls.
- Select a call to view detailed call analytics.
- Review the following key metrics for each call:
-
- Call duration
- Audio quality
- Video quality
- Network connectivity
c. Identify and resolve issues:
- Use the call data to pinpoint potential issues affecting call quality and connectivity.
- Implement recommended solutions, such as adjusting network settings, updating device firmware, or changing device configurations.
- Troubleshooting common SIP device issues:
Here are some common SIP device issues and their potential solutions:
a. Device registration issues:
- Verify that the SIP device’s credentials are correct.
- Ensure that the device’s firmware is up to date and compatible with Microsoft Teams.
- Check the device’s network connectivity and firewall settings.
- Assess the network’s bandwidth and latency to ensure optimal performance.
- Verify that the SIP device is using the correct audio and video codecs.
- Update the device’s firmware or adjust its configuration settings if needed.
c. Audio or video issues:
- Check the device’s microphone, speakers, and camera for any hardware issues.
- Confirm that the correct audio and video settings are selected on the SIP device and in Microsoft Teams.
d. Dropped calls or connectivity issues:
- Assess the SIP device’s network connectivity and stability.
- Review any error messages or warnings in the Teams Admin Center or Call Analytics.
- Update network settings or device configurations as needed.
By leveraging the monitoring and troubleshooting tools available in Microsoft Teams, you can maintain a seamless integration of your SIP devices and ensure an optimal communication experience for your users. Regularly monitor call quality, device health, and network performance to proactively address any issues that may arise.
Section 5: Additional Considerations
Effectively managing SIP devices in Microsoft Teams is essential for providing a seamless and efficient communication experience for your users. In this in-depth guide, we will discuss the best practices for managing SIP devices, from planning and deployment to ongoing maintenance and support.
- Planning and Deployment:
Before integrating SIP devices with Microsoft Teams, consider the following factors to ensure a smooth deployment:
a. Compatibility:
- Ensure that the SIP devices are certified for Microsoft Teams to guarantee full feature support and optimal performance.
- Verify that the devices’ firmware is up-to-date and compatible with Microsoft Teams.
b. Network Infrastructure:
- Assess your network’s bandwidth and latency to ensure it can support the additional traffic from SIP devices.
- Implement Quality of Service (QoS) policies to prioritize voice and video traffic and maintain call quality.
c. Device Configuration:
- Standardize device settings across your organization to simplify deployment and troubleshooting.
- Configure devices to use the correct audio and video codecs, and ensure they are set up with the appropriate Microsoft Teams policies.
- Ongoing Maintenance:
Regular maintenance of your SIP devices is necessary to ensure optimal performance and user satisfaction. Consider the following best practices:
a. Firmware Updates:
- Regularly check for and install firmware updates to ensure your devices have the latest features, improvements, and security patches.
- Develop a schedule for updating devices to minimize disruptions and downtime.
b. Device Monitoring:
- Utilize the Microsoft Teams Admin Center to monitor device health, status, and firmware versions.
- Proactively address any issues or warnings identified through monitoring.
c. User Training:
- Provide training and resources to help users effectively use SIP devices and Microsoft Teams features.
- Encourage feedback from users to identify any potential issues or areas for improvement.
- Troubleshooting and Support:
Having a robust support system in place is essential for addressing issues with SIP devices and maintaining user satisfaction. Implement the following best practices:
a. Documentation:
- Maintain detailed documentation of device configurations, policies, and troubleshooting procedures to streamline support efforts.
- Keep an up-to-date inventory of SIP devices, including their locations, firmware versions, and assigned users.
b. Support Processes:
- Develop clear support processes for reporting and resolving issues with SIP devices.
- Establish escalation procedures for more complex issues that require additional expertise or resources.
c. Utilize Microsoft Teams Tools:
- Leverage the Microsoft Teams Admin Center and Call Analytics to identify and resolve issues with SIP devices.
- Implement the troubleshooting tips and solutions provided by these tools to maintain optimal device performance.
By following these best practices for managing SIP devices in Microsoft Teams, you can ensure a seamless communication experience for your users. Plan and deploy your devices with careful consideration, maintain them through regular updates and monitoring, and provide robust support to address any issues that may arise.
Conclusion:
Properly configuring Microsoft SIP Gateway ensures seamless integration of SIP devices with Microsoft Teams, providing an enhanced communication experience for your organization. By following this comprehensive guide, you can successfully set up and manage your SIP devices and ensure the best possible collaboration environment for your team members.
In today’s digital world, Voice over Internet Protocol (VoIP) technology is becoming increasingly popular for personal and business communications. One of the key components of VoIP is the Session Initiation Protocol (SIP), which is responsible for initiating, managing, and terminating communication sessions. Setting up a SIP server at home can be an exciting project, benefiting anyone looking to enjoy enhanced communication capabilities. This guide will take you through the entire process of setting up, hosting, and using a SIP server on Windows.
Understanding SIP and Its Importance
SIP is a signaling protocol used for managing multimedia communication sessions such as voice and video calls over an Internet Protocol (IP) network. It is widely used in Internet Telephony, and SIP servers play a crucial role in this technology by handling call setup, routing, and teardown. The benefits of using SIP include:
- Cost-Effectiveness: SIP allows you to make calls over the Internet, potentially reducing costs compared to traditional phone services.
- Flexibility: SIP can be used for voice calls, video conferencing, instant messaging, and more.
- Scalability: SIP systems can easily scale to accommodate an increasing number of users or devices.
Pre-requisites for Setting Up a SIP Server
Before diving into the setup process, you need to ensure that you have the following prerequisites:
- Windows Operating System: A compatible version of Windows is necessary for hosting SIP software.
- Installation of Required Software: Software such as a SIP server application and related tools.
- A Static IP Address: For consistent connectivity, it is recommended to use a static IP address for the SIP server.
- Internet Connection: A stable broadband Internet connection is essential for VoIP services.
- Hardware Requirements: A computer or server with adequate processing power, memory, and storage to handle the server load.
Choosing the Right SIP Server Software
Several SIP server software options are available for Windows, each with unique features catering to different use cases. Here are some highly recommended choices:
- Asterisk: One of the most popular open-source PBX systems that support SIP and provides robust capabilities.
- FreeSWITCH: An open-source platform designed for handling high-volume communication.
- Microsoft Skype for Business Server: A proprietary solution that fosters unified communications, although more suitable for enterprise environments.
For this guide, we will focus on setting up Asterisk, given its flexibility, extensive community support, and suitable features for personal use.
Step-by-Step Installation of Asterisk on Windows
Step 1: Download the Required Files
- Visit the Asterisk website and download the latest version of Asterisk for Windows. You can find the binaries needed for installation.
- Make sure to also download the necessary libraries, such as PJSIP, which Asterisk uses for SIP functionality.
Step 2: Installation
-
Extract the Downloaded Files: Use a software like WinRAR or 7-Zip to extract the files to a dedicated directory on your hard drive.
-
Visual C++ Redistributables: Make sure that the required Visual C++ Redistributables are installed, as they are often essential for Asterisk to function correctly.
-
Set Up the Environment:
- Open a Command Prompt with administrative privileges.
- Navigate to the directory where Asterisk is extracted.
- Run the installation commands in sequence (as outlined in the installation guide provided with Asterisk).
-
Configuration Files Setup: Asterisk includes several configuration files that allow you to customize the server’s behavior:
- sip.conf: This file manages SIP user settings.
- extensions.conf: Determines how calls are routed.
- voicemail.conf: Configuration for voicemail services.
Step 3: Editing Configuration Files
Once installed, you will need to configure Asterisk.
-
Configuring sip.conf:
- Open the
sip.conf
file in a text editor. - Define SIP users and general settings. Here’s a sample configuration:
[general] context=default bindport=5060 bindaddr=0.0.0.0
[user1]
type=friend
secret= user1password
host=dynamic
context=default - Open the
-
Configuring extensions.conf:
- Open
extensions.conf
and set up dial plans. A basic example:[default] exten => 1001,1,Dial(SIP/user1,20) exten => 1001,n,Hangup()
- Open
Step 4: Running Asterisk
With the configuration files set, you can start Asterisk. Launch the Asterisk console using the command:
asterisk -cvv
This command will start Asterisk and provide verbose output, showing you its operational status. You can also keep the console open to monitor incoming and outgoing calls.
Step 5: Testing Your SIP Server
To confirm that your SIP server is running correctly, you will need a SIP client. There are various free SIP clients available, such as Zoiper or Linphone.
- Download and Install a SIP Client.
- Create a New Account: Use the same credentials specified in your
sip.conf
(username and password). - Configure the SIP client to point to your SIP server’s IP address. Ensure that you include the port number (default 5060).
- Make a Test Call: Once configured, try making a test call to ensure that your setup is functioning correctly.
Step 6: Enhancing Your SIP Server
Once your SIP server is operational, consider enhancing its capabilities with additional features. You can:
- Implement Voicemail: Set up voicemail in
voicemail.conf
and direct calls to voicemail when no one answers. - Incorporate Call Recording: Enable call recording features within Asterisk to save call recordings.
- Secure Your SIP Server: Consider setting up firewalls and implementing security protocols such as SRTP (Secure Real-Time Protocol) to protect your communications.
Final Thoughts
Setting up a SIP server at home using Windows can significantly enhance your communication capabilities. Whether you are a tech enthusiast wanting to dive into VoIP technology or a small business owner seeking a cost-effective, flexible communication system, Asterisk offers an excellent solution.
With a robust setup, proper configurations, and continuous learning about the advanced capabilities of your SIP server, you’ll be well on your way to establishing efficient and effective communication at home or in your organization. Remember, experimentation is key; don’t hesitate to explore various configurations and settings to adapt your SIP server to your specific needs.
By Tyler Stosic
UPDATE OCT 17TH:
The previous deadline of 29th of September 2022 is no longer correct, Microsoft have extended this through to July 31st, 2023, however it is recommended to move supported 3PIP devices to Teams SIP Gateway as soon as possible. More information below:
Upgrade Skype for Business Online (3PIP) phones to Microsoft Teams using SIP Gateway – Microsoft Community Hub.
UPDATE AUG 6TH:
On August 5th, 2022, Microsoft posted message MC409857 in the message center advising that customers with 3PIP phone need to migrate away from using 3PIP sign in by the 30th of September 2022 (Also noted phone connecting via 3PIP will start being blocked from signing in to Teams on 1st of November 2022). You will either need to transitioned exiting phones to the SIP Gateway (details below in this blog) or upgrade to Teams native phones. If your tenant does not have any active 3PIP phones you will not see this in your message center as you are not impacted. A summary can be found below:
MC409857 · Published Aug 5, 2022 Action required by Sep 29, 2022
Microsoft has retired Skype for Business Online in July 2021. To continue using your Skype for Business Online phones (aka 3PIP phones) to securely connect and work with Teams, here are the actions you must take:
- Migrate your 3PIP devices to Microsoft Teams using Teams SIP Gateway, OR
- Upgrade your 3PIP devices to Microsoft Teams Phone devices.
WHEN THIS WILL HAPPEN:
You need to migrate your 3PIP Devices to SIP Gateway by September 30, 2022. SIP Gateway is the recommended approach for customers to continue using 3PIP phones to connect and work with Teams. We will start blocking your 3PIP devices from connecting to Teams via the existing pathway from November 1st.
In this article, we will be discussing the Microsoft SIP gateway, currently supported devices, pre-requisites for configuration, and the current limitations. Next, we will run through the configuration of two devices via two different methods, the configuration of Poly VVX using user sign-in mode, and a Yealink SIP T42G using Common Area Phone mode/remote provisioning.
WHAT IS THE MICROSOFT TEAMS SIP GATEWAY?
The Microsoft Teams SIP Gateway became generally available in December 2021, allowing SIP registration to Microsoft Teams using compatible desktop handsets allowing core Teams calling functionality. This functionality is provided at no additional cost (assuming accounts are licensed for Microsoft Teams and Phone System), allowing organisations to utilise existing fleets of legacy handsets with basic Teams calling functionality. It is noted that you are not going to get the full functionality that Teams calling can provide via the SIP Gateway, if you need support for features like call queues, video calls, calendar integration, address book search, I would recommend sticking with a Microsoft Teams Certified device.
Setup and registration of devices for the SIP gateway follows familiar processes if you have used remote provisioning services for Skype for Business certified handsets before, the main configuration change will be updating the device provisioning server URL in DHCP. Sign in of the devices is done by utilising the https://microsoft.com/devicelogin URL via the code presented on the handset device, or bulk provisioning from the Teams Admin Centre via MAC address upload (although this still requires a code physically input into the device). There are a few other steps to be aware of, that will be covered in this article.
It is also worth noting that Microsoft Teams SIP gateway is a different service to the 3PIP gateway. Currently Skype for Business certified IP phones can be used to sign into Microsoft Teams and be used with limited functionality (this limited functionality is comparable with the current limited feature set of the SIP gateway). However, Microsoft have previously stated that there will be no feature additions to any Skype for Business certified devices going forward. The support for 3PIP phone with Microsoft Teams was due to be retired on the 31st of July 2023 but has now been extended beyond 2023 with no official date given yet.
LIMITATION OF SIP GATEWAY
The following features are supported utilising compatible devices registered via the SIP Gateway.
- Inbound/Outbound PSTN calls
- Inbound/Outbound Teams Calling (Noted SIP Gateway devices can only call users with an assigned number, unable to call via Name/UPN)
- Call Hold
- Do Not Disturb
- Voicemail
- DTMF
- Call Transfer
- Call forwarding
- Microsoft Teams meeting join (via the meeting access code)
A full list of supported features can be found at the below article:
For comparison, the feature set of Skype for Business Certified IP Phones with Microsoft Teams can be found here:
Skype for Business Certified IP Phones with Microsoft Teams – Microsoft Tech Community
It is noted that phones registered via the SIP gateway do not support Call Queues. Any feature not listed in the above documentation is not supported (although some of these features may work, I would recommend against it due to no support, especially in production environments).
SUPPORTED DEVICE LIST
The list of compatible SIP gateway devices can be found in the below Microsoft Article:
This currently includes several Cisco, Poly, Yealink, Audiocodes and Spectralink handsets, with several Spectralink DECT devices also currently supported. Poly and Ascom DECT devices have been flagged as being supported by end of June, but these are yet to show up on the list, and Yealink and Gigaset DECT devices to be supported by September.
REQUIRED FIREWALL CONFIGURATION
There are a few additional firewall requirements other than the standard “Worldwide endpoints” required by Microsoft Teams, these additional requirements are:
- Open UDP ports in the range 49152 to 53247 for IP ranges 52.112.0.0/14 and 52.120.0.0/14.
- Open TCP port 5061 for IP ranges 52.112.0.0/14 and 52.120.0.0/14.
- Open the following https endpoints (IP addresses and URLs):
o 13.75.175.145
o 52.189.219.201
o 51.124.34.164
o 13.74.250.91
o 13.83.55.36
o 23.96.103.40
o https://blobsdgapac.blob.core.windows.net
o https://blobsdgemea.blob.core.windows.net
o https://blobsdgnoam.blob.core.windows.net
o https://httpblobsdgapac.blob.core.windows.net
o https://httpblobsdgemea.blob.core.windows.net
o https://httpblobsdgnoam.blob.core.windows.net
ADDITIONAL NOTES FOR CONFIGURATION
Any accounts signing into a phone via the Teams SIP gateway are required to be licensed with a Microsoft Teams and Microsoft Teams Phone Standard License (Phone System), or Common Area Phone license for Common Area Phones.
The Calling Policy assigned to any accounts needs to have the “SIP devices can be used for calls” option enabled, also the “Allow Call Redirect” feature must be enabled in the calling Policy, this can be enabled via the below PowerShell command from Teams PowerShell:
Set-CsTeamsCallingPolicy -Identity “PolicyName” -AllowSIPDevicesCalling $true -AllowCallRedirect $true
When using DHCP for provisioning, the scope requires the following entries (In addition to existing standard DNS/Router settings):
- 042 NTP Server
- 002 Time Offset
- 160 Provisioning Server (Poly, Cisco, Audiocodes – Note for Cisco append /$PSN.xml to the provisioning server URL.)
- 066 Boot Server Host Name (Yealink)
If conditional access is implemented, ensure the following IP addresses are excluded for user sign in
- Configure SIP Gateway – Microsoft Teams | Microsoft Docs
Remote provisioning is available by uploading the MAC addresses of the devices and gaining an enrolment code. This enrolment code can then be input into the device which will onboard it into your M365 Tenant. You can then sign in the device via the TAC.
The Teams admin centre currently provides limited functionality for managing Teams SIP Phones. From the TAC, you can sign out, restart and monitor the device.
SIP GATEWAY SETUP
ORG WIDE CONFIGURATION
To setup the Teams SIP Gateway we firstly need configure to the Teams Calling Policy, if there will only be a subset of users/common area phones that will be utilsing the SIP gateway, it is recommended to create a new calling policy specifically for SIP devices. The following command can be used to create the policy and configure required options (however if you are utilising an existing policy use the Set-CsTeamsCallingPolicy command instead)
New-CsTeamsCallingPolicy -Identity SIPDevices -AllowSIPDevicesCalling $true -AllowCallRedirect Enabled
Next, assign the Policy to any account that will be signing into the SIP gateway
Grant-CsTeamsCallingPolicy -Identity user.name@domain.com -PolicyName SIPDevices.
DHCP CONFIGURATION
Next, perform the necessary DHCP configuration, use the appropriate SIP Gateway Provisioning Server URLs:
- EMEA: http://emea.ipp.sdg.teams.microsoft.com
- Americas: http://noam.ipp.sdg.teams.microsoft.com
- APAC: http://apac.ipp.sdg.teams.microsoft.com
In this example the below options have been configured on a Windows DHCP Server to support both Poly and Yealink phones.
POLY VVX CONFIGURATION (CONFIGURED VIA USER SIGN IN MODE)
To ensure the Poly pulls down the correct configuration from the Teams SIP Gateway provisioning servers, it is advised to factory reset the devices. This can either be achieved through the Web UI under Utilities > Phone Backup & Restore > Global Settings and select the “Restore” button to reset the configuration.
Alternatively on the handset itself under the Settings > Advanced > Administration Settings > Reset to Factory Defaults > Reset to Factory. It is strongly recommended not to skip this step (In the SIP gateway I have run into issues with phones not pulling down the configuration until a factory reset was performed). If you no longer have access to the admin password of the phone, follow the Poly support article below: How to reset a Polycom VVX phone when the Admin password is lost or unknown [VIDEO TUTORIAL]
Once the Poly has been factory reset (and configured in the correct subnet/DHCP scope), it will start to pull down the required configuration. Upon boot the phone will reach out to the provisioning server and pull the required configuration, if this is not occurring check that the device is on at least the minimum firmware listed in the Microsoft Docs (5.9.5 for the case of all VVX phones at the time of writing) and install the necessary firmware if required and reboot the phone again.
When pulling down the configuration the device will reboot several times, this may take 5 or so minutes. Once it’s been configured, you will be presented with the below screen.
To sign into the device, you can simply select the “Sign in” key, and follow the prompts to sign in via the https://microsoft.com/devicelogin URL. An image of a signed in phone is below:
Once sign in is completed, the device will show up in the TAC under SIP devices:
YEALINK T42G (CONFIGURED REMOTE PROVISIONING / COMMON AREA PHONE CONFIGURATION)
As we will be configuring the Yealink with remote provisioning and using the Common Area Phone sign in method, ensure the account created is licensed with a Common Area Phone license.
Next, we need to update the phone to the approved firmware version, this is different for most devices, so refer to the “Plan for SIP Gateway” URL to confirm the required version.
In my case, I am using a SIP T42G, so will be upgrading to 29.83.0.130. Log into the phones WebUI, and under Settings > Upgrade, select the required configuration file. Firmware files are publicly available on the Yealink Support website.
Following the upgrade, a factory reset of the phone is to be performed (under Settings > Upgrade) on from the WebUI. The phone will auto-provision with the Teams SIP Firmware, this will take a few minutes and the phone will reboot.
Once onboarded, you will see the standard sign in screen, for this phone we will be using the Remote Provisioning method from the Teams Admin Centre.
As we only have one phone we will upload the MAC address manually, but you can also upload as CSV for multiple phones.
Add the MAC, and the phone will show up under “Waiting for Activation”.
Then select the phone and select “Generate Verification Code” (Note this code is valid for 24 hours).
Next on the handset, dial *55* followed by the code (eg *55*316629), this will complete the provisioning process and after a few minutes the phone will move to the “Waiting for sign in” page.
Select the phone again and select “Sign in a user”, if it shows up with the device is still setting up, wait a few more minutes.
Lastly, follow the prompts to sign the device in:
The device will then finish its sign in process and be available for use.
CONCLUSION
The SIP Gateway is a good way to re-use old fleets of IP Phone handsets; however you do lose a lot of functionality compared to a Teams Certified IP Phone handsets, and with no support for Call Queues being a deal breaker for a number of scenarios. For cases like common areas that do not require full Teams functionality the SIP gateway would be a low cost way to reuse existing phones, and with DECT Phones being supported this opens up a number of use cases that didn’t have ideal solutions previously. I am interested to see what additional devices will end up being supported for the Microsoft Teams SIP gateway in the future, as I see a lot of potential for the platform if devices like analogue telephony adapters become certified for use.