XMPP-Schnittstelle liefert 2 Gespräche gleichzeitig aus

Hallo Community,

wir haben eine Schnittstelle auf XMPP-Basis zwischen einer Call Center Anwendung und der MobyDick entwickelt und in Betrieb. Diese funktioniert so lange das Anrufvolumen der Warteschlangen relativ gering ausfällt auch sehr gut. Glühen die Leitungen haben wir verschiedene Probleme, welche nach langen Versuchen nicht mit den Mitteln der vorhanden XMPP-API zu lösen sind.

Problem:
Befinden sich viele Anrufer in den Warteschlangen, gibt es Ereignisse, dass die XMPP-Schnittstelle zwei Gespräche zur gleichen Zeit an einen Agenten ausliefert.

Hier zum besseren Verständnis das XMPP-Log:


13:00:12.724 	receive: <message xmlns="jabber:client" from="pubsub.mobydick" to="ccagent.463@mobydick/cti_ccagent.463" id="ahab.client.ccagent.463__ccagent.463@mobydick__0z36J"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="ahab.client.ccagent.463"><item id="1394539212473"><cmd xmlns="http://www.pascom.net/mobydick" module="base">
        <ChannelEvent>
          <eventType>ringing</eventType>
          <eventId>SIP/8aAiM6uSU7451ee-0000172b</eventId>
          <eventDetails />
          <outbound>false</outbound>
          <internal>false</internal>
          <sourceName />
          <sourceNumber>anonymous</sourceNumber>
          <sourceCallerIdName>Bestellservice-A</sourceCallerIdName>
          <targetName>Heinz Müller</targetName>
          <targetCallerIdName />
          <targetNumber>463</targetNumber>
          <busySince>0</busySince>
          <refChannel />
          <device>Snom 0004137451ee [TID-0049]</device>
          <fromName>Bestellservice-A</fromName>
          <fromNumber>604</fromNumber>
        </ChannelEvent>
      </cmd></item></items></event><header xmlns="http://jabber.org/protocol/shim"><headers name="pubsub#subid">dszxGuAeEQeLhGbKF9voffFrUcKC01Pn2hFq6176</headers></header></message>
13:00:12.724 	XMPP-Message: <message xmlns="jabber:client" from="pubsub.mobydick" to="ccagent.463@mobydick/cti_ccagent.463" id="ahab.client.ccagent.463__ccagent.463@mobydick__0z36J"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="ahab.client.ccagent.463"><item id="1394539212473"><cmd xmlns="http://www.pascom.net/mobydick" module="base">
        <ChannelEvent>
          <eventType>ringing</eventType>
          <eventId>SIP/8aAiM6uSU7451ee-0000172b</eventId>
          <eventDetails />
          <outbound>false</outbound>
          <internal>false</internal>
          <sourceName />
          <sourceNumber>anonymous</sourceNumber>
          <sourceCallerIdName>Bestellservice-A</sourceCallerIdName>
          <targetName>Heinz Müller</targetName>
          <targetCallerIdName />
          <targetNumber>463</targetNumber>
          <busySince>0</busySince>
          <refChannel />
          <device>Snom 0004137451ee [TID-0049]</device>
          <fromName>Bestellservice-A</fromName>
          <fromNumber>604</fromNumber>
        </ChannelEvent>
      </cmd></item></items></event><header xmlns="http://jabber.org/protocol/shim"><headers name="pubsub#subid">dszxGuAeEQeLhGbKF9voffFrUcKC01Pn2hFq6176</headers></header></message>
13:00:12.724 	SIGNAL: ringing
13:00:12.724 	receive: <message xmlns="jabber:client" from="pubsub.mobydick" to="ccagent.463@mobydick/cti_ccagent.463" id="ahab.client.ccagent.463__ccagent.463@mobydick__IG86s"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="ahab.client.ccagent.463"><item id="1394539212475"><cmd xmlns="http://www.pascom.net/mobydick" module="base">
        <ChannelEvent>
          <eventType>ringing</eventType>
          <eventId>SIP/8aAiM6uSU7451ee-0000172c</eventId>
          <eventDetails />
          <outbound>false</outbound>
          <internal>false</internal>
          <sourceName />
          <sourceNumber>anonymous</sourceNumber>
          <sourceCallerIdName>Bestellservice-B</sourceCallerIdName>
          <targetName>Heinz Müller</targetName>
          <targetCallerIdName />
          <targetNumber>463</targetNumber>
          <busySince>0</busySince>
          <refChannel />
          <device>Snom 0004137451ee [TID-0049]</device>
          <fromName>Bestellservice-B</fromName>
          <fromNumber>605</fromNumber>
        </ChannelEvent>
      </cmd></item></items></event><header xmlns="http://jabber.org/protocol/shim"><headers name="pubsub#subid">dszxGuAeEQeLhGbKF9voffFrUcKC01Pn2hFq6176</headers></header></message>
13:00:12.724 	XMPP-Message: <message xmlns="jabber:client" from="pubsub.mobydick" to="ccagent.463@mobydick/cti_ccagent.463" id="ahab.client.ccagent.463__ccagent.463@mobydick__IG86s"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="ahab.client.ccagent.463"><item id="1394539212475"><cmd xmlns="http://www.pascom.net/mobydick" module="base">
        <ChannelEvent>
          <eventType>ringing</eventType>
          <eventId>SIP/8aAiM6uSU7451ee-0000172c</eventId>
          <eventDetails />
          <outbound>false</outbound>
          <internal>false</internal>
          <sourceName />
          <sourceNumber>anonymous</sourceNumber>
          <sourceCallerIdName>Bestellservice-B</sourceCallerIdName>
          <targetName>Heinz Müller</targetName>
          <targetCallerIdName />
          <targetNumber>463</targetNumber>
          <busySince>0</busySince>
          <refChannel />
          <device>Snom 0004137451ee [TID-0049]</device>
          <fromName>Bestellservice-B</fromName>
          <fromNumber>605</fromNumber>
        </ChannelEvent>
      </cmd></item></items></event><header xmlns="http://jabber.org/protocol/shim"><headers name="pubsub#subid">dszxGuAeEQeLhGbKF9voffFrUcKC01Pn2hFq6176</headers></header></message>
13:00:12.724 	SIGNAL: ringing
13:00:12.755 	receive: <presence xmlns="jabber:client" from="ccagent.463@mobydick/phone" to="ccagent.463@mobydick/cti_ccagent.463"><priority>-10</priority><show>xa</show><status>{"blf":"Phone ringing","loc":"TID-0049"}</status></presence>
13:00:12.911 	receive: <message xmlns="jabber:client" from="pubsub.mobydick" to="ccagent.463@mobydick/cti_ccagent.463" id="ahab.client.ccagent.463__ccagent.463@mobydick__LoDMi"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="ahab.client.ccagent.463"><item id="1394539212628"><cmd xmlns="http://www.pascom.net/mobydick" module="base">
        <ChannelEvent>
          <eventType>hangup</eventType>
          <eventId>SIP/8aAiM6uSU7451ee-0000172c</eventId>
          <eventDetails />
          <outbound>false</outbound>
          <internal>false</internal>
          <sourceName />
          <sourceNumber>anonymous</sourceNumber>
          <sourceCallerIdName>Bestellservice-B</sourceCallerIdName>
          <targetName>Heinz Müller</targetName>
          <targetCallerIdName />
          <targetNumber>463</targetNumber>
          <busySince>0</busySince>
          <refChannel />
          <device>Snom 0004137451ee [TID-0049]</device>
          <fromName>Bestellservice-B</fromName>
          <fromNumber>605</fromNumber>
        </ChannelEvent>
      </cmd></item></items></event><header xmlns="http://jabber.org/protocol/shim"><headers name="pubsub#subid">dszxGuAeEQeLhGbKF9voffFrUcKC01Pn2hFq6176</headers></header></message>
13:00:12.911 	XMPP-Message: <message xmlns="jabber:client" from="pubsub.mobydick" to="ccagent.463@mobydick/cti_ccagent.463" id="ahab.client.ccagent.463__ccagent.463@mobydick__LoDMi"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="ahab.client.ccagent.463"><item id="1394539212628"><cmd xmlns="http://www.pascom.net/mobydick" module="base">
        <ChannelEvent>
          <eventType>hangup</eventType>
          <eventId>SIP/8aAiM6uSU7451ee-0000172c</eventId>
          <eventDetails />
          <outbound>false</outbound>
          <internal>false</internal>
          <sourceName />
          <sourceNumber>anonymous</sourceNumber>
          <sourceCallerIdName>Bestellservice-B</sourceCallerIdName>
          <targetName>Heinz Müller</targetName>
          <targetCallerIdName />
          <targetNumber>463</targetNumber>
          <busySince>0</busySince>
          <refChannel />
          <device>Snom 0004137451ee [TID-0049]</device>
          <fromName>Bestellservice-B</fromName>
          <fromNumber>605</fromNumber>
        </ChannelEvent>
      </cmd></item></items></event><header xmlns="http://jabber.org/protocol/shim"><headers name="pubsub#subid">dszxGuAeEQeLhGbKF9voffFrUcKC01Pn2hFq6176</headers></header></message>
13:00:12.911 	SIGNAL: hangup
13:00:18.880 	<< CMD(ping) {}
13:00:20.958 	receive: <presence xmlns="jabber:client" from="ccagent.466@mobydick/phone" to="ccagent.463@mobydick"><priority>-10</priority><show>xa</show><status>{"blf":"Phone available","loc":"TID-0046"}</status></presence>
13:00:21.302 	receive: <presence xmlns="jabber:client" from="ccagent.466@mobydick/phone" to="ccagent.463@mobydick"><priority>-10</priority><show>xa</show><status>{"blf":"Phone ringing","loc":"TID-0046"}</status></presence>
13:00:21.771 	<< CMD(fAnswerCall) {"REQID":"10800000008F","TID":"4008","UID":"522"}
13:00:21.771 	send: <iq type="get" id="agsXMPP_40672"><cmd xmlns="http://www.pascom.net/mobydick" module="phone"><Offhook /></cmd></iq>
13:00:22.068 	receive: <iq xmlns="jabber:client" to="ccagent.463@mobydick/cti_ccagent.463" type="result" id="agsXMPP_40672"><cmd xmlns="http://www.pascom.net/mobydick" module="base">
  <Success>
    <message>Ok</message>
  </Success>
</cmd></iq>
13:00:22.130 	receive: <message xmlns="jabber:client" from="pubsub.mobydick" to="ccagent.463@mobydick/cti_ccagent.463" id="ahab.client.ccagent.463__ccagent.463@mobydick__kqB8M"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="ahab.client.ccagent.463"><item id="1394539221867"><cmd xmlns="http://www.pascom.net/mobydick" module="base">
        <ChannelEvent>
          <eventType>busy</eventType>
          <eventId>SIP/8aAiM6uSU7451ee-0000172b</eventId>
          <eventDetails />
          <outbound>false</outbound>
          <internal>false</internal>
          <sourceName />
          <sourceNumber>anonymous</sourceNumber>
          <sourceCallerIdName>Bestellservice-A</sourceCallerIdName>
          <targetName>Heinz Müller</targetName>
          <targetCallerIdName />
          <targetNumber>463</targetNumber>
          <busySince>1394539221866</busySince>
          <refChannel />
          <device>Snom 0004137451ee [TID-0049]</device>
          <fromName>Bestellservice-A</fromName>
          <fromNumber>604</fromNumber>
        </ChannelEvent>
      </cmd></item></items></event><header xmlns="http://jabber.org/protocol/shim"><headers name="pubsub#subid">dszxGuAeEQeLhGbKF9voffFrUcKC01Pn2hFq6176</headers></header></message>
13:00:22.130 	XMPP-Message: <message xmlns="jabber:client" from="pubsub.mobydick" to="ccagent.463@mobydick/cti_ccagent.463" id="ahab.client.ccagent.463__ccagent.463@mobydick__kqB8M"><event xmlns="http://jabber.org/protocol/pubsub#event"><items node="ahab.client.ccagent.463"><item id="1394539221867"><cmd xmlns="http://www.pascom.net/mobydick" module="base">
        <ChannelEvent>
          <eventType>busy</eventType>
          <eventId>SIP/8aAiM6uSU7451ee-0000172b</eventId>
          <eventDetails />
          <outbound>false</outbound>
          <internal>false</internal>
          <sourceName />
          <sourceNumber>anonymous</sourceNumber>
          <sourceCallerIdName>Bestellservice-A</sourceCallerIdName>
          <targetName>Heinz Müller</targetName>
          <targetCallerIdName />
          <targetNumber>463</targetNumber>
          <busySince>1394539221866</busySince>
          <refChannel />
          <device>Snom 0004137451ee [TID-0049]</device>
          <fromName>Bestellservice-A</fromName>
          <fromNumber>604</fromNumber>
        </ChannelEvent>
      </cmd></item></items></event><header xmlns="http://jabber.org/protocol/shim"><headers name="pubsub#subid">dszxGuAeEQeLhGbKF9voffFrUcKC01Pn2hFq6176</headers></header></message>
13:00:22.130 	SIGNAL: busy
13:00:22.146 	receive: <presence xmlns="jabber:client" from="ccagent.463@mobydick/phone" to="ccagent.463@mobydick/cti_ccagent.463"><priority>-10</priority><show>dnd</show><status>{"blf":"Phone busy","loc":"TID-0049"}</status></presence>
13:00:23.880 	<< CMD(ping) {}

Dem Log kann man schön entnehmen, dass zwei Anrufe aus zwei unterschiedlichen Warteschlangen auf die hundertste Millisekunde genau zur gleichen Zeit (13:00:12.724) bei einem Agenten aufschlagen. Das Gespräch von Bestellservice-B wird dann verworfen, dass Gespräch aus Bestellservice-A wird angenommen.

Das ist natürlich für jede Software das k.o., denn sie kann ja nicht wissen, welches Gespräch soll jetzt innerhalb der Software signalisiert werden. In den meisten Fällen signalisiert sie den falschen Call. D.h. in der Call Center Sofware steht, dass ein Anruf für Bestellservice-B kommt, am Telefon ist jedoch ein Anrufer aus Bestellservice-A. Da ist die Verwirrung beim Kunden und beim Agenten vorprogrammiert.

Hat jemand eine Idee, das Problem zu beheben?

Beste Grüße
Sebastian

Eingesetzte MobyDick-Version ist übrigens: 7.05.01.

Keiner eine Idee hierzu?