Jump to: navigation, search

Service Selection

When the Resource Manager receives a request for a new SIP session, it maps the call to an IVR Profile, and then selects a service for the request. If the SIP request arrives in the context of an existing Resource Manager session for which a VoiceXML or CCXML application is already executing, the Resource Manager does not perform another mapping.

See also CTI Call Mapping Genesys CTI for a description of service selection when the CTI Connector is deployed.

Mapping the Call to an IVR Profile

This section describes how the Resource Manager maps SIP requests to IVR profiles for both single (GVP 8.1.1 and earlier 8.x releases) and multi-tenant (GVP 8.1.2) platforms.

Single-Tenant GVP

In a single tenant environment, the Resource Manager maps the SIP request to an IVR Profile, as follows:

  1. If the SIP Request-URI includes a gvp-tenant-id parameter, the Resource Manager looks for an IVR Profile that has a name that matches the value of the gvp-tenant-id parameter. Alternatively, if either the X-Genesys-gsw-ivr-profile-id or X-Genesys-gsw-ivr-profile-name header is present, the Resource Manager checks it to determine which IVR Profile to use. If one of the two headers is present and the Request-URI parameter gvp-tenant-id is also present, the gvp-tenant-id is treated as the tenant.
    • If the Resource Manager finds an IVR Profile that matches, it routes the SIP session to that application and removes the SIP Request-URI parameter from the outgoing request.
    • If the Resource Manager does not find an IVR Profile that matches, it executes the default VoiceXML or CCXML application that has been configured for the Environment tenant (in the default-application parameter, in the gvp.general section).
  2. If the SIP Request-URI does not include a gvp-tenant-id parameter, but the Voice Platform Solution (VPS) has been configured so that SIP Server provides Dialed Number Identification Service (DNIS) information in the SIP header, the Resource Manager uses the DNIS that it extracts from the SIP message to map the SIP request to an IVR Profile from a preconfigured DNIS resource list. When the Resource Manager routes the call to the application, it attaches the trunkport parameter to the SIP Request-URI, with the DNIS as the value.

    For information about configuring the mapping between DNIS ranges and IVR Profiles for the Environment tenant, see the section about mapping IVR Profiles to Dialed Numbers in the GVP 8.5 User's Guide.

    A Resource Manager configuration option (sip-header-for-dnis, in the rm section) enables you to specify the header in which the Resource Manager looks for the DNIS. Ensure that the value that you specify is consistent with the headers that you expect the Media Gateway to use. The following are valid values:
    • The user part of the SIP Request-URI
    • The user part of the Universal Resource Indicator (URI) in the To header
    • The user part of the URI in the History-Info header (the default value), with index = 1

    For more information, see the description of the rm.sip-header-for-dnis configuration option in the GVP 8.5 User's Guide.

    Tip
    GVP 8.5 supports all-numeric DNIS or numeric DNIS with asterisk (*) suffix for example, 8005556699 or 80055544*. All other characters such as, #, a, or b are stripped from the incoming request.
  3. If the Resource Manager cannot map the SIP request to an IVR Profile, it executes the new SIP session in the context of the default VoiceXML or CCXML application that has been configured for the Environment tenant (in the default-application parameter, in the gvp.general section).
  4. If the Resource Manager cannot map the SIP request to an IVR Profile, and if no default application has been configured for the Environment tenant, the incoming SIP request fails with a 404 Not Found response.

Multi-Tenant GVP

In a multi-tenant environment, the Resource Manager maps the SIP request to a tenant and an IVR Profile, as follows:

  1. If the SIP Request-URI includes a gvp-tenant-id parameter and a X-Genesys-gsw-ivr-profile-id (or X-Genesys-gsw-ivr-profile-name) custom header, the Resource Manager looks for a tenant that has a name that matches the value of the gvp-tenant-id parameter and an IVR Profile that has a name that matches the X-Genesys-gsw-ivr-profile-id custom header.
    • **If the Resource Manager cannot find a matching tenant, the session fails, and a 404 Not Found SIP response is generated.
    • **If the Resource Manager cannot find a matching IVR Profile, but the tenant is selected, the Resource Manager executes the session by using the default application that is defined for the tenant.
    • **If no default application is defined for the tenant, the session fails and a 404 Not Found SIP response is generated.
    • **If the gvp-tenant-id parameter is included in the Request-URI, but the X-Genesys-gsw-ivr-profile-id custom header is missing, the Resource Manager first selects the tenant that owns the gateway resource, and then looks for an IVR Profile that has a name that matches the value of the gvp-tenant-id parameter.
    • **If there is no matching IVR Profile, the Resource Manager executes the session by using the default application that is defined for the tenant.
    • **As a special case for SSG call flow, if the gvp-tenant-id parameter in the Request-URI is missing but the X-Genesys-gsw-ivr-profile-id or X-Genesys-gsw-ivr-profile-name custom header is present, then the Resource Manager:
    • **Selects the tenant that owns the gateway resource.
    • **Looks for an IVR Profile that has an application-id/name that matches the value of the X-Genesys-gsw-ivr-profile-id or X-Genesys-gsw-ivr-profile-name custom header.
  2. In a Supplementary Services Gateway outbound-call flow, if the SIP Request-URI is not present, but the X-Genesys-gsw-ivr-profile-id custom header is present, the Resource Manager first selects the tenant that owns the gateway resource, and then looks for an IVR Profile that has a name that matches the value of the X-Genesys-gsw-ivr-profile-id custom header.
    • If there is no matching IVR Profile, the Resource Manager executes the session by using the default application that is defined for the tenant.

    If any one of the two entries are found, the Resource Manager removes the gvp-tenant-id SIP Request-URI parameter from the outbound request.

  3. Alternatively, if neither the gvp-tenant-id parameter nor the X-Genesys-gsw-ivr-profile-id header is included in the request, the Resource Manager uses the DNIS that is extracted from the SIP message to select the tenant and IVR Profile, as follows:
    • The Resource Manager starts with the tenant that owns the gateway resource, using the DID Groups that are associated with the tenant to match the DNIS. It searches the entire tenant hierarchy by using a breadth first order.
    • When a match is found in a DID Group, the Resource Manager designates the tenant that is associated with the DID Group for the call, and then selects the IVR Profile that is associated with that tenant.
    • With a successful match for the DNIS, the Resource Manager attaches it to the Request-URI as a parameter that is named trunkport.
    • If the application mapping fails, the Resource Manager executes the session by using the default application that is defined for the tenant.

Selecting the Service

After the IVR Profile for the Resource Manager session has been determined, the Resource Manager identifies the required service and the service prerequisites for each call leg.

The Resource Manager performs service selection, as follows:

  1. If the user part of the SIP Request-URI includes parameters that specify the required service, the Resource Manager handles the SIP request as a request for the specified service. The Resource Manager appends service parameters to the Request-URI if they are not already included.

    The table below describes the parameters that the Resource Manager looks for in SIP messages, to specify the required service:
    Table: Service Specified in SIP Request
    SIP Request-URI Service Comment
    User part is dialog, and it contains a parameter with the name voicexml voicexml Service prerequisites are included.
    User part starts with dialog.vxml voicexml Service prerequisites are included.
    User part is ccxml, and it contains a parameter with the name ccxml ccxml Service prerequisites are included.
    User part is msml[=conf-id] (conf-id is optional) msml No service prerequisites are required.
    User part starts with conf= conference Service prerequisites are included.


    The remainder of the user part is the conference ID for this request.

    Contains the parameter user=phone gateway Request originates from a resource that supports the voicexml or ccxml service.
    User part is composed of characters 0 9 and - (hyphen) gateway Request originates from a resource that supports the voicexml or ccxml service.
  2. If the SIP Request-URI does not include parameters to identify the required service, and if the request originates from a resource that supports the voicexml or ccxml service, the Resource Manager handles the incoming SIP request as a request for the external-sip service.
  3. If the SIP Request-URI does not include parameters to identify the required service, and if the request does not originate from a resource that supports the voicexml or ccxml service, the Resource Manager uses the service type and service prerequisites that are configured for the IVR Profile in the gvp.general and gvp.service-prerequisite sections.
  4. If the Resource Manager cannot map the request to a service in accordance with the preceding rules, it rejects the request with a 404 Not Found SIP response.

    NETANN Dialog Requests

    The Resource Manager processes NETANN dialog requests from the CTI Connector in the following way:

    • The CTI Connector sends the NETANN dialog request with VoiceXML=<APP_URL> and script-id parameter.
      • If an INVITE message is received with VoiceXML=SCRIPTURL instead of the APP_URL, the Resource Manager substitutes this for the SCRIPTURL that is defined in the IVR profile.
      • If an INVITE message is received with VoiceXML=SCRIPTURL, and if the SCRIPTURL is not configured in the IVR Profile, the Resource Manager rejects the call leg with a 4xx response.
      • The Resource Manager reads the SCRIPT-URL parameter from the <tt>gvp.service-prerequisites</tt> section of the IVR Profile object.
      • The gvp.service-prerequisites parameter is populated before the Resource Manager sends the request to the Media Control Platform.
      • If the SCRIPT-URL parameter is not configured or populated, the Resource Manager uses the INITIAL-PAGE-URL parameter instead.
      </ul>

Feedback

Comment on this article:

blog comments powered by Disqus
This page was last modified on July 11, 2018, at 00:48.