Inleiding
Dit document beschrijft hoe een CCB-probleem van Customer Voice Portal (CVP) kan worden opgelost wanneer de beller geen CCB-aanbod krijgt omdat de trunkgatewaycapaciteit is overschreden.
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- CVP
- Cisco CVP-callback met beleefdheid
Gebruikte componenten
De informatie in dit document is gebaseerd op de volgende softwareversies:
- CVP server 10.5
- Unified Contact Center Enterprise (UCS) 10.5
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.
Achtergrondinformatie
Alvorens het probleem van de gatewaycapaciteit problematisch is, is het belangrijk om het proces van de boomstambevestiging in CCB te begrijpen. In principe bepaalt het proces eerst het aantal aanroepen vanuit de Callback_current tabel met EventTypeID in (21,22,23); In afwachting, Vooruitgang, Tentatief voor specifieke gateways en plaatsen.
Ten tweede, vanuit dezelfde Callback_current tabel, bepalen, het aantal oproepen dat is voltooid met verbonden oorzaak: EventTypeID = 24 (Voltooid), en CauseID = 27 (Verbonden).
Tot slot voegt het proces deze twee waarden toe en vergelijkt met het aantal stammen die onder de dienst Survivability.tcl worden gevormd.
Als het resultaat over de gevormde boomstamdrempel is, stuurt het proces een mislukking (terugkeer 1) terug, anders wordt ok teruggestuurd (terugkeer 0).
Samengevat is de formule voor de validatie van de voor CCB gebruikte trunks:
CCB-trunks < (Callback_current tabel met EventTypeID in (21,22,23); Hangende, Voortgang, Voorzichtig voor specifieke gateways) + Callback_current lijst van EventTypeID = 24 (Voltooid), en CauseID = 27 (Verbonden)
Als CCB Trunks waarde lager is, mislukt validatie.
Symptomen
Een inkomende oproep krijgt geen CCB-aanbod. De oproep gaat direct naar de wachtrij, ongeacht de geschatte wachttijd (EWT)
Problemen oplossen
Stap 1. Verzamel de logboeken van de Activiteit van de toepassing CallbackEntry van de Server van de Opmaaktaal van de Stem Verlengbare (VXML).
Stap 2. Zoeken in de activiteitenlogboeken naar elke oproep die niet wordt gevalideerd:
Validate_02,data,result,none
Dat betekent dat de validatie niet is geslaagd. Verkrijg de GUID voor deze oproep. Filtreer de oproep door de gevraagde activiteit en zoek naar een kalf zoals dit voorbeeld:
start,parameter,callid=BBBBAAAACCCCDDDDEEEEFFFFAAAABBBB
Stap 3. Verzamel CVP rapporteringslogboeken voor de Rapporterende Server. Vind dezelfde kalender in de CVP Rapporterende logboeken.
ValidateHandler:ValidateHandler.exec: ValidateHandler GUID=BBBBAAAACCCCDDDDEEEEFFFFAAAABBBB results:none validation status bitmask=0x00000103
Stap 4. Converteer het bitmaskernummer naar binair getal. Gebruik een rekenmachine voor programmeurs: 0001 00000011
Stap 5. Controleer de CVP Reporting guide-bitmasker voor CCB-tabellen. Je moet zien dat validatie mislukt vanwege "OVERSCHRIJDEN_CAPACITEIT_GW".
00000000
0000001 OK
00000000
00000010 ICM_NO_SCHEDULED_MAY
00000000 00000100 ICM_NO_PREEMPTIVE_MAY
00000000 00001000 NOT_IN_QUEUE
00000000 00010000 TOD
00000000 00100000 EWT
00000000 01000000 PROBE_ERROR_NO_RESPONSE
00000000 10000000 PROBE_FAILLIET_NO_CONFIG
00000001 00000000 OVER_CAPACITEIT_GW
00000010 00000000 OVER_CAPACITEIT_WACHTRIJ
Opmerking: ICM_NO_SHCEDULED_MAY en het OK bit zijn altijd ingesteld
Stap 6. Verfijn het probleem tot een specifieke wachtrij. Controleer de CCB-server van de CVP-rapportageserver om te bepalen of er een of meer specifieke wachtrijen zijn waarin CCB niet wordt aangeboden. Open een webbrowser en typ deze.
http://{Reporting Server IP-adres}:8000/cvp/CallbackServer?method=directory
Dit is een voorbeeld van een wachtrij waarin CCB wordt aangeboden:
Dit is een voorbeeld van een wachtrij waarin CCB niet wordt aangeboden
Stap 7. Controleer of de wachtrij(en) worden bediend door een specifieke gateway. Controleer de gatewayconfiguratie (Survivability toepassingsparameters).
application
service new-call flash:bootstrap.vxml
!
service survivability flash:survivability.tcl
paramspace callfeature med-inact-det enable
param ccb id:10.201.198.21;loc:CALO;trunks:512
Stap 8. Als de configuratie correct is, controleer dan de informatie die is opgeslagen in de Reporting Server-database (Informix) om het aantal oproepen op deze specifieke gateway en locatie te bepalen. Je kunt het CCB-id (in dit geval 10.201.198.21) of de locatie (CALO in dit voorbeeld) controleren.
Stap 9. Toegang tot de Informix-database op de rapportageserver.
Open een CMD-prompt en type: geduld
Navigeren naar verbinding > verbinding maken
Selecteer een cvp-instantie
type gebruikersnaam cvp_dbadmin
typewachtwoord
selecteer callback@cvp database
afsluiten en naar Query Languages navigeren
Stap 10. Start de query:
Selecteer count(*) van callback_current waar locatie == "CALO";
Stap 11. Als de waarde gelijk is aan of hoger is dan de trunkwaarde die in de gateway is geconfigureerd voor de locatie(s), is dit de reden waarom validatie mislukt, omdat de maximale toegestane aantallen trunks zijn bereikt in de tabel Callback_Current.
Opmerking: Zoals bedoeld in de CVP Rapportagehandleiding, is de Callback-tabel een weergave van twee tabellen: Callback_Current en Callback_Historical. De twee tabellen zijn identiek. Om de 30 minuten worden gegevens voor voltooide oproepen uit Callback_Pending gehaald en verplaatst naar Callback_Historical.
Stap 12. Als de trunkwaarde per locatie de limieten in de Callback_Current-tabel heeft bereikt en er geen callbacks in de wachtrij zijn, betekent dit dat er een probleem is met het verplaatsen van de callback-records van Callback_Current naar de Callback_Historical-tabel.
Stap 13. Zorg ervoor dat CVPCallbackArchive wordt uitgevoerd onder de Schedule Tasks (CVP Reporting Server). Ga naar Start -> Programma's -> Accessoires -> Systeemtools -> Geplande taak.
.
Stap 14. Als deze taak CVPCallbackArchive voltooid is, zorg er dan voor dat de afsluitcode (0x0) is.
Stap 15. Als stap 13 en 14 goed zijn, maar nog steeds geen gegevens in de Callback_Historical tabel, moet u bepalen waarom de informatie niet in de database wordt toegevoegd. Controleer de integriteit van de informatie die in de huidige en historische tabel is opgeslagen. Voer deze zoekopdracht uit in het informix dBaccess CMD venster:
Select count (*) from callback_current where surrogateid in (select surrogateid from callback_historical);
Stap 16. Als de telling 1 of hoger is, betekent het dat de primaire sleutel op de huidige lijst reeds in de historische lijst bestaat en de informatie niet in het gegevensbestand wordt toegevoegd. In de meeste van deze scenario's, veroorzaakt een rasvoorwaarde dubbele verslagen om in callback_current lijst in te gaan.
GUID naar surrogaat mapping gebeurt op wachtrijtabel. In situaties waarin de aanroep van callback wacht op het terugbellen van wachtrijscript, lijkt er een venster te zijn waar de archieftaak de records van huidige naar geschiedenis verplaatst en de toepassing een nieuwe record in de huidige tabel invoert met dezelfde gesurrogeerde. Deze kwestie houdt verband met deze CDETS CSCuq86400
Oplossing
Stap 1. Toegang tot de Informix-database. Open een CMD-prompt en type: geduld
Stap 2. Navigeer naar verbinding > selecteer cvp-instantie. Typ gebruikersnaam cvp_dbadmin en type wachtwoord
Stap 3. Selecteer callback@cvp database afsluiten en navigeer naar Query Languages
Stap 4. Start deze opdrachten:
verwijderen van callback_current waar gesurrogeerd in (selecteer surrogaat van callback_history);
Als er een tijdelijke tabelfout is opgetreden:
valtabel t1;
Stap 5. Start de sp-procedure die de informatie van de huidige naar de historische callback tabel verplaatst vanuit het venster dbaccess van de vraagtaal.
EXECUTE PROCEDURE sp_arch_callback();
Stap 6. Controleer of de huidige tabel niet zoveel records bevat als voorheen.
Selecteer count(*) van callback_current waar locatie == "CALO";
Permanente oplossing
Stap 1. Navigeer naar Cisco\CVP\informix_frag en open sp_arch_callback.sql in een teksteditor.
Stap 2. Schakel deze regel uit aan het begin van het bestand: —drop procedure sp_arch_callback; (verwijderen — aan het begin van de lijn).
Stap 3. Voeg deze regel toe: verwijderen van callback_current waar gesurrogeerd in (selecteer surrogaat van callback_history) ; daarna
maak procedure sp_arch_callback() lijn aan.
Stap 4. Sla het bestand op.
Stap 5. Dit is een voorbeeld van hoe het eerste deel van het bestand eruit zou moeten zien.
{*********************************************************************************
Stored procedure to move completed calls out of the active table into the
historical table.
*********************************************************************************}
drop procedure sp_arch_callback;
create procedure sp_arch_callback()
DEFINE p_ageoff INTEGER;
-- delete any duplicates found in current table.
delete from callback_current where surrogateid in (select surrogateid from callback_historical);
Eindoplossing testen
Stap 1. Open een CMD-prompt en voer de opdracht uit: dbschema
dbschema -d callback -f sp_arch_callback
Opmerking: Als u een autorisatiekwestie hebt bij het uitvoeren van de opdracht dbschema, meld u dan aan als cvp_dbadmin op de rapportageserver en probeer het nog een keer.
Stap 2. Zorg ervoor dat de opdracht Verwijderen uit wordt uitgevoerd.