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.
NOTE 1: Some SIP Registrars ignore the Contact: field provided here and set their own instead. 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.
<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.