AnyNode Provisioning for SNOM M300

Automatic Provisioning of SNOM M300 with AnyNode SBC

Posted by: Henning // 4th Aug 2021 // Category: //

As you know from my previous post I started playing with the Provisioning Server of AnyNode. I have successfully provisioned my SNOM D7XX Devices. Now my SNOM M300 DECT Base Station had to follow.

SNOM M300

In this article, we go over the

  • Difference to Desk-Phones
  • Setup of the Device Configuration & Template
  • Setup of the SIP Directory User
  • Setup of the SNOM Base Station

Difference between Desk-Phones and DECT Stations

There is one big difference between these devices: a DECT Base Station services several DECT Devices and the SIP Accounts needs to be assigned to a DECT Phone. DECT Phones are Identified by the IPEI (International Portable Equipment Identity) and when provisioning the Base Station it matches SIP Accounts to IPEI. Be not confused by the names, in the XML its named IPUI (subscr_dect_ipui).

SNOM M300

Import the Template

Since we have this differences, I needed to create a second template for M300/700/900 (non multicell mode!).

I reused the Global User-defined Variables in the Template to configure the base:

  • snom_admin_mode_pass
  • snom_admin_user
  • snom_admin_web_pass
  • snom_language
  • snom_timezone
  • snom_tone_scheme

Variables

But I also included a User-Specific custom variable in the Directory

  • snom_sub_ipei

Setup the Device Configuration

According to the Manual / Documentation of SNOM the Devices uses Mozilla/69.0 (compatible; Snom M300 4.50.0005 0004136*****) as User Agent. But my Wireshark trace of my M300 Base Station shows Mozilla/4.0 (compatible; snomM300 05.30.0002 00041362C731

So I set Mozilla/4.0 (compatible; snomM as User Agent Prefix.

user Agent

The other settings are identical to the SNOM D7XX Template.

Template

The lastest version is available on my GitHub Page

<?xml version="1.0" encoding="utf-8"?>
<settings>
    <phone-settings e="2">
        <!--Global settings-->
        <setting_server perm="R">http://{% $ANPROV_SIP_HOSTNAME %}:8010/{mac}.xml</setting_server>
        <timezone>{% $snom_timezone %}</timezone>
        <tone_scheme>{% $snom_tone_scheme %}</tone_scheme>
        <ntp_server>192.168.175.108</ntp_server>
        <http_user perm="">{% $snom_admin_user %}</http_user>
        <http_pass perm="">{% $snom_admin_web_pass %}</http_pass>

        <!-- Server related settings-->
        <srv_sip_server_alias idx="1">Anynode-Cluster</srv_sip_server_alias>
        <user_host idx="1">{% $ANPROV_SIP_HOSTNAME %}:{% $ANPROV_SIP_UDP_PORT xml %}</user_host>
        <user_srtp idx="1">off</user_srtp>
        <srv_srtp_auth idx="1">off</srv_srtp_auth>
        <!-- Handset related settings. subscr_dect_ipui has to be specified, otherwise the base will reset the
connection to the handset every provisioning process-->

        {% for user in ANPROV_USERS %}
            {% if user.ANPROV_SUB_ID %}

                <subscr_dect_ipui idx="{% $user.ANPROV_SUB_ID xml %}">{% $user.snom_sub_ipei %}</subscr_dect_ipui>
                <subscr_sip_hs_idx idx="{% $user.ANPROV_SUB_ID xml %}">{% $user.ANPROV_SUB_ID xml %}</subscr_sip_hs_idx>
                <subscr_sip_ua_data_server_id idx="{% $user.ANPROV_SUB_ID xml %}">1</subscr_sip_ua_data_server_id>
                <subscr_sip_ua_pref_outg_sip_id idx="{% $user.ANPROV_SUB_ID xml %}">1</subscr_sip_ua_pref_outg_sip_id>
                <!-- Extension/account related settings-->
                <user_active idx="{% $user.ANPROV_SUB_ID xml %}">on</user_active>
                <user_realname idx="{% $user.ANPROV_SUB_ID xml %}">{% $user.ANPROV_DISPLAY_NAME xml %}</user_realname>
                <user_name idx="{% $user.ANPROV_SUB_ID xml %}" perm="R">{% $user.ANPROV_AOR_USERNAME xml %}</user_name>
                <user_pass idx="{% $user.ANPROV_SUB_ID xml %}" perm="R">{% $user.ANPROV_AUTH_PASSWORD xml %}</user_pass>
                <user_pname idx="{% $user.ANPROV_SUB_ID xml %}" perm="R">{% $user.ANPROV_AUTH_USERNAME xml %}</user_pname>
                <keyboard_lock_emergency idx="{% $user.ANPROV_SUB_ID xml %}">911 112 110 999 19222</keyboard_lock_emergency>

        {% end %}
            {% else %}
            {% warning no sub-id set for account %}
            {% end %}
        {% end %}
    </phone-settings>
</settings>

Setup the Directory

Like you did for the SNOM D7XX edit your SIP User in the SIP Directory and go the Provisioning tab. Enter the MAC Address of the Base Station, set the Sub ID and the AOR. Now you need to define a User-defined variable for the IPEI of the Phone that is called snom_sub_ipei.

Variables

Setup the Base Station

I used the manual setting again and defined my Settings Server and Filename in the Management configuration:

  • Settings Server: http://192.168.175.175:8010
  • Filename: {mac}.xml

SNOM

After a reboot, the base station is configured for the assigned SIP accounts and DECT Phone:

SNOM

Conclusion

This is only a single-cell setup and cannot be used for multi-cell deployments. However a multicell deployment will be possible too. You just need to adjust some settings in the XML and add custom variables to reflect all needed details.