Programmable Voice

  1. Home
  2. Docs
  3. Programmable Voice
  4. HMP Elements
  5. Positive Call Delivery – Destination Groups

Positive Call Delivery – Destination Groups

Beginning with version 10.2.2.0, HMPElements supports the concept of multiple carrier destinations when placing a single call. If one particular carrier, border controller, PBX or other type of endpoint is offline, then HMPElements will direct the outgoing call to a backup list of servers to ensure call delivery. This eliminates the need for you to code your own mechanism to handle a call that fails at a primary destination. Moreover, HMPElements will monitor each endpoint by sending OPTIONS requests to those destinations and optionally send you emails to inform you of service failures.

When using this feature, you can configure HMPElements with a single group of destinations or multiple named groups of destinations.

Defining Destinations

To define your destinations you simply add the following to your HmpElementsServer.exe.config file.  You can define as many destinations as you would like.

<setting name="Destinations" serializeAs="Xml">
  <value>
    <Destinations>
      <Destination>
        <Name>Carrier1></Name>
        <Host>11.22.33.44:5060></Host>
      </Destination>
      <Destination>
        <Name>Carrier2></Name>
        <Host>somecarrier.com></Host>
      <Destination>
    </Destinations>
  </value>
</setting>

Defining Destination Groups

At this point you create a Destination Group or Groups depending on your needs.  The log file will keep a record of the status of the endpoints as they are polled with the OPTIONS requests.

<setting name="DestinationGroups" serializeAs="Xml">
  <value>
    <DestinationGroups>
      <DestinationGroup>
        <Name>IVL</Name>
        <Destination>Carrier1</Destination>  
        <Destination>Carrier2</Destination>  
        <LogFile>IVL.LOG</LogFile>
        <LogLevel>1</LogLevel>
        <DestinationHuntMode>Sequential</DestinationHuntMode>
      </DestinationGroup>
    </DestinationGroups>
  </value>
</setting>  

Adding Email Alerts

Its also a good idea to set the email settings so that if dialing to one endpoint fails you get an alert:

<setting name="EmailTo" serializeAs="String">
    <value> support@mydomain.com</value>
</setting>
<setting name="EmailFrom" serializeAs="String">
    <value> support@mydomain.com</value>
</setting>
<setting name="EmailUser" serializeAs="String">
    <value> support@mydomain.com</value>
</setting>
<setting name="EmailPassword" serializeAs="String">
    <value>xxxxxxxxxxxxxx</value>
</setting>
<setting name="EmailSmtpServer" serializeAs="String">
    <value>smtp.gmail.com</value>
</setting>
<setting name="EmailSmtpPort" serializeAs="String">
    <value>587</value>
</setting>

Usage

To set the default group, edit your VoiceElementsServer.exe.config file and set the default destination host.

<setting name="HmpDefaultDestinationHost" serializeAs="String">
    <value>DestinationGroup.IVL</value>
</setting>

Where IVL is the name of the group that you created.

After that you can simply dial out as usual:

ChannelResource.Dial("3035551212);

The system will take care of the rest.

Multiple Groups

You can also setup multiple groups, and through a specific group, other than the default by using the “@” symbol like this:

ChannelResource.Dial("30355512125@DestinationGroup.OtherGroupName")

Dialing Without a Group

If you decide to dial out and you don’t want to use the default group, you can still dial an endpoint manually:

ChannelResource.Dial("30355512125@11.22.33.44:5060")
Was this article helpful to you? Yes 13 No

How can we help?