David Lender | The Delivered_Event is part of the Event Data Feed Interface, and the Request_Instruction is part of the Service Control Interface. These two interfaces are mutually exclusive. An IVR can't use these two interface at any same time. You can implement both, but can only use one of the two at any given time.
If a call is routed to the IVR by ICM from another Peripheral, how does the IVR identify the call to the ICM if it can't use the Trunk and Trunk Group? The answer is that the ICM doesn't use the Trunk and Trunk Group to identify the call. The only thing the Trunk and Trunk Group is used for is for the ICM to keep track of the trunk utilization to use in routing. It uses the Correlation ID if delivered by the Network to identify the call. Otherwise the ICM uses the DNIS in the Translation Route.
The Event Data Feed Interface and Service Control Interface rely heavily on the Initialization of the interface with the a snapshot of the current state of the IVR (i.e. Trunks, TrunkGroups, Services, etc...). When the connection with the IVR first comes up, the IVR can optionally send an initial snapshot of the Trunks, TrunkGroups, and Services that are configured. From that point on, as calls arrive and are cleared at the IVR, the IVR sends call event messages (ie. Delivered, Cleared, etc... in the case of the Event Data Feed or the New_Call or Request_Instruction messages in the case of the SCI), the ICM will then keep track of the trunk utilization, and can then route calls to the IVR accordingly.
If you are not routing calls to the IVR from another Peripheral using trunk utilization within the ICM, then you don't need to configure trunks or send the Trunk/Trunk Group initialization. It is optional. If you just send "0" for the Trunk and Trunk Group fields in the Delivered_Event or NEW_CALL message it should work just fine. Our Custom Engineering team used the Service Control Interface (SCI) and sent the NEW_CALL message to the ICM to request a route to an agent skill group. They sent "0" in the Trunk, TrunkGroup, and ServiceID fields, and it worked fine since they weren't routing to the "IVR".
Also, If you don't use Trunk and Trunk Group information, you won't have any Trunk Group Real Time database records.
Hope this helps. |