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> | Defaults to SIP if not set. |
<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 domin name to be resolved. |
<RegClient> |
RegClient is usually specified in one of the below formats: AuthUsername AuthUsername@Realm AuthUsername@RegServerIPAddress 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 telephone_number@local_ip_address telephone_number@local_host_name user@local_ip_address user@local_host_name The local_ip_address should be the public IP address as visible by the SIP Registrar. Value of LocalAlias is used in the Contact: field of SIP REGISTER request. If this is not set correctly then you may not get ACK returned by SIP Switch in the INVITE-OK-ACK exchange at start of call. NOTE: Some SIP Registrars ignore the Contact: field provided 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 Registraton messages exchanged. |
<Expires> |
If set, this value is used in the Expires: field of SIP Register request. If this field is not set the default value of 60 seconds is used. Expiry settings are often overruled by SIP Registrar. HMP uses Expiry value as advised by SIP Registrar. |
<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. Leave blank if this authentication can be used for any Realm, and not restricted to certain Realm only. The "realm" is included by SIP Server/PBX in its "401-Unauthorized" / "407-Authentication Required" reponses in the 'Authenticate: Digest' field. |
<Identity> |
Account for which this authentication applies. Only set this field if you are registering multiple accounts with same SIP Registrar and require a different authentication to be used for each account. If specified then this authentication entry will only be used if Identity matches the To: field contents in the "401-Unauthorized" / "407-Authentication Required" response from the registration server. |
<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:
CallCentric (www.callcentric.com)
<VoIP_Lines>
<VoIP_Registrations>
<VoIP_Registration>
<Protocol>SIP</Protocol>
<RegServer>callcentric.com</RegServer>
<RegClient>177711111111@callcentric.com</RegClient>
<LocalAlias>177711111111@10.1.1.9</LocalAlias>
</VoIP_Registration>
</VoIP_Registrations>
<VoIP_Authentications>
<VoIP_Authentication>
<Realm></Realm>
<Identity></Identity>
<AuthUsername>177711111111</AuthUsername>
<AuthPassword>Password</AuthPassword>
</VoIP_Authentication>
</VoIP_Authentications>
</VoIP_Lines>
Flowroute (www.flowroute.com)
The IP address in LocalAlias needs to be the publicly visible IP address of the system.
<VoIP_Lines>
<VoIP_Registrations>
<VoIP_Registration>
<Protocol>SIP</Protocol>
<RegServer>sip.flowroute.com</RegServer>
<RegClient>90427345@flowroute.com</RegClient>
<LocalAlias>90427345@145.37.125.84</LocalAlias>
</VoIP_Registration>
</VoIP_Registrations>
<VoIP_Authentications>
<VoIP_Authentication>
<Realm></Realm>
<Identity></Identity>
<AuthUsername>90427345</AuthUsername>
<AuthPassword>password01</AuthPassword>
</VoIP_Authentication>
</VoIP_Authentications>
</VoIP_Lines>
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.11</RegServer>
<RegClient>3000@10.1.1.11</RegClient>
<LocalAlias>3000@10.1.1.9</LocalAlias>
</VoIP_Registration>
</VoIP_Registrations>
<VoIP_Authentications>
<VoIP_Authentication>
<Realm></Realm>
<Identity></Identity>
<AuthUsername>3000</AuthUsername>
<AuthPassword>1234</AuthPassword>
</VoIP_Authentication>
</VoIP_Authentications>
</VoIP_Lines>
Skype Connect
<VoIP_Lines>
<VoIP_Registrations>
<VoIP_Registration>
<Protocol>SIP</Protocol>
<RegServer>sip.skype.com</RegServer>
<RegClient>99051000000000@sip.skype.com</RegClient>
<LocalAlias>99051000000000@sip.skype.com</LocalAlias>
</VoIP_Registration>
</VoIP_Registrations>
<VoIP_Authentications>
<VoIP_Authentication>
<Realm></Realm>
<Identity></Identity>
<AuthUsername>99051000000000@</AuthUsername>
<AuthPassword>Password</AuthPassword>
</VoIP_Authentication>
</VoIP_Authentications>
</VoIP_Lines>