SIP REGISTER

VoiceGuide can register itself with the SIP provider of choice, resulting in VoiceGuide receiving calls directed to registered telephone numbers and being able to place outgoing calls using the registered accounts.

The VoIP registrations are specified in the Config.xml file, in section <VoIP_Lines>

<VoIP_Lines> contains two sections: <VoIP_Registrations> and <VoIP_Authentications>.

<VoIP_Registrations>  can contain multiple <VoIP_Registration> sections, and
<VoIP_Authentications>  can contain multiple <VoIP_Authentication> sections.

 

Section <VoIP_Registration>:

<VoIP_Registration>
<Protocol>SIP</Protocol>
<RegServer>ServerAddress</RegServer>
<RegClient>RegisteredClient</RegClient>
<LocalAlias>LocalAlias</LocalAlias>
<Expires>Seconds</Expires>
</VoIP_Registration>

<Protocol> Set to SIP
<RegServer> IP address of the registration server or the domain name of the registration server.
If domain name is specified then HMP will resolve the domain name to IP address before issuing the registration request.
If domain name is used you must ensure that the DNS is configured to allow domain name to be resolved.
<RegClient> RegClient is usually specified in one of the below formats:
AuthUsername
AuthUsername@DomainNme
AuthUsername@IPAddress
RegClient is used in the From: and the To: fields of SIP Register request.
<LocalAlias> Local Alias is usually specified in one of the below formats
number@local_ip_address
number@local_ip_address:local_port
number@local_host_name
number@local_host_name:local_port
user@local_ip_address
user@local_ip_address:local_port
user@local_host_name
user@local_host_name:local_port

A prefix sip: may also be used in front of the above.
The local_ip_address should be the public IP address as visible by the SIP Registrar.
The local_port is 5060 unless VoiceGuide/HMP has been configured to use a different port.
Value of LocalAlias is used in the Contact: field of the SIP REGISTER request sent to Registrar/PBX.

NOTE 1: Some SIP Registrars ignore the Contact: field provided here and set their own instead.
In those cases the LocalAlias setting must match the Contact: field in the SIP Registrar's reply.
The Contact: fields in SIP REGISTER requests and the replies must match in order for the SIP Registration to work.
WireShark should be used to confirm contents of the SIP Registration messages exchanged.

NOTE 2: If this is not set correctly then you may not get ACK returned by SIP Registrar/PBX in the INVITE-OK-ACK exchange at start of calls, and the calls will not proceed.

<Expires> Sets how the 'Expires' value on the SIP Register request.
If this field is not set the default value of 60 seconds is used.

 

<VoIP_Authentication> holds information about the SIP digest authentication. It contains:

<VoIP_Authentication>
<Realm>Domain</Realm>
<Identity>AccountName</Identity>
<AuthUsername>AuthUser</AuthUsername>
<AuthPassword>AuthPassword</AuthPassword>
</VoIP_Authentication>

<Realm> The "realm" for which this authentication applies.
Needs to be set if AuthUsername is different to the RegClient in the <VoIP_Registration> section.
The "realm" is included by SIP Server/PBX in its "401-Unauthorized" / "407-Authentication Required" reponses in the 'Authenticate: Digest' field.
<Identity> The "client/contact" for which this authentication applies.
Needs to be set if AuthUsername is different to the RegClient in the <VoIP_Registration> section.
If specified then this authentication entry will only be used if Identity matches exactly the To: field contents in the "401-Unauthorized" / "407-Authentication Required" response from the registration server. The match must be exact. eg: if the To: field has a sip: prefix then that prefix must be included in this entry, otherwise HMP will not use this authentication entry for that 401/407 challenge.
<AuthUsername> Username used for authentication.
<AuthPassword> Password used for authentication.

 

The Dialogic HMP service must also be restarted after any changes to <VoIP_Registration> or <VoIP_Authentication> entries.
Dialogic HMP service restart is necessary to clear the old Registration/Authentication entries that have been previously loaded into HMP.
If Dialogic HMP service is not restarted then the previously loaded Registration and Authentication entries will take precedence.

WireShark can be used to confirm what SIP packets are exchanged between the SIP server and the VoiceGuide/HMP system. WireShark traces are usually necessary in determining causes of any registration failures.

SIP registration and authentication examples can be found in the Config.xml file. Information used for SIP registration is very similar for all SIP switches/providers.

Below are some examples as well:

 

Asterisk / FreeSWITCH

The registration config below demonstrates how VoiceGuide would register to accept calls to a particular extension (ext 3000).

PBX was installed on another server on same local network. PBX server's IP address was: 10.1.1.11  VoiceGuide is installed on IP address 10.1.1.9

<VoIP_Lines>

<VoIP_Registrations>
<VoIP_Registration>
<Protocol>SIP</Protocol>
<RegServer>10.1.1.42</RegServer>
<RegClient>3000@10.1.1.43</RegClient>
<LocalAlias>3000@10.1.1.8</LocalAlias>
</VoIP_Registration>
</VoIP_Registrations>

<VoIP_Authentications>
<VoIP_Authentication>
<Realm></Realm>
<Identity></Identity>
<AuthUsername>3000</AuthUsername>
<AuthPassword>password</AuthPassword>
</VoIP_Authentication>
</VoIP_Authentications>

</VoIP_Lines>

 

3CX

Some versions of 3CX and some PBXs use a different Username then the Number (Client) that is being registered.
In such cases the Config.xml's Realm and Identity needs to be set to match to what the PBX uses in its Realm and Contact fields, so HMP knows for which Number/Client the authentication information is for.

eg: The below config works with 3CX System 20 release:

<VoIP_Registrations>

<VoIP_Registration>
<Display>3CX_1000</Display>
<Protocol>SIP</Protocol>
<RegServer>10.1.40.189</RegServer>
<RegClient>1001@myname.3cx.us</RegClient>
<LocalAlias>sip:1001@myname.3cx.us:5060</LocalAlias>
<Expires></Expires>
</VoIP_Registration>

</VoIP_Registrations>

<VoIP_Authentications>

<VoIP_Authentication>
<Display></Display>
<Realm>3CXPhoneSystem</Realm>
<Identity>sip:1001@myname.3cx.us</Identity>
<AuthUsername>XxXxXxXxXx</AuthUsername>
<AuthPassword>YyYyYyYyYy</AuthPassword>
</VoIP_Authentication>

</VoIP_Authentications>

 

Please also refer to the below posts for information on setting up a SIP Trunk on 3CX pointing to VoiceGuide:
https://www.voiceguide.com/forums/topic/14762-register-vg-sip/?do=findComment&comment=47229
and here:
https://www.voiceguide.com/forums/topic/14762-register-vg-sip/?do=findComment&comment=47225

Setting up a SIP trunk if usually a better solution for an IVR system intended to handle many simultaneous calls.

 

VoiceGuide

© Katalina Technologies Pty. Ltd.