Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Conventies

Configureren

Netwerkdiagram

Configuraties

Voorbeeld van Call Flow

Verifiëren

Problemen oplossen

Opdrachten debug

Debug Outputs

Gerelateerde informatie

Inleiding

Voice Extensible Markup Language (VXML) is een standaard die wordt gedefinieerd door het World Wide Web Consortium (W3C). Het is ontworpen om audio-dialogen te maken die gesynthetiseerd spraak, herkenning van gesproken woorden, herkenning van DTMF-cijfers en opgenomen gesproken audio bieden. De VXML server en de cliënten gebruiken het bekende HTTP protocol om VXML documenten / pagina's uit te wisselen.

Cisco Voice Portal (CVP) biedt intelligente en interactieve spraakrespons (IVR) toepassingen die via de telefoon toegankelijk zijn. Er zijn drie soorten CVP-implementaties:

1. Standalone services

2. CVP-gespreksbeheer

3. Gesprekswachtrij en overdracht

Synthetische spraak en de herkenning van gesproken woorden / DTMF-cijfers worden geboden door Tekst-to-Speech (TTS) en Automatic Speech Recognition Server (ASR). De IOS® VXML gateway communiceert met de TTS / ASR server via het Media Resource Control Protocol (MRCP). Er zijn twee versies van MRCP (RFC 4463), namelijk MRCPv1 (MRCP via RTSP) en MRCPv2 (MRCP via SIP).

Dit document beschrijft de aanloopstroom van een IOS Voice XML Gateway naar CVP-oproep in een standalone servicetoepassing die MRCPv2 TTS/ASR-servers gebruikt. Er werd een aanvraag voor een voorbeeldfarmacie opgesteld op de CVP VXML server.

Voorwaarden

Vereisten

Er zijn geen specifieke vereisten van toepassing op dit document.

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- IOS VXML-gateway Cisco AS5400XM, IOS 12.4(15)T1

- VXML server: CVP 4.0

- ASR- / TTS-server: Loquendo Speech Suite 7.0

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.

Conventies

Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.

Configureren

Deze sectie bevat informatie over het configureren van de functies die in dit document worden beschreven.

Opmerking: Gebruik het Opname Gereedschap (alleen geregistreerde klanten) om meer informatie te verkrijgen over de opdrachten die in deze sectie worden gebruikt.

Netwerkdiagram

Het netwerk in dit document is als volgt opgebouwd:

Configuraties

Dit document gebruikt deze configuraties:

Configuratie van VXML-gateway

!--- Define Hostname to IP Address !---- mapping for ASR and TTS servers

ip host asr-en-us 172.18.110.76

ip host tts-en-us 172.18.110.76

!--- Define the Voice class URI to match !---- the SIP URI of ASR Server in the dial-peer

voice class uri  TTS sip

pattern tts@172.18.110.76

!--- Define the Voice class URI to match !---- the SIP URI of TTS server in the dial-peer

voice class uri  ASR sip

pattern asr@172.18.110.76

!--- Define the amount of maximum memory !---- to used for downloaded prompts

ivr prompt memory 15000

!--- Define the SIP URI of ASR !---- and TTS Server

ivr asr-server sip:asr@172.18.110.76

ivr tts-server sip:tts@172.18.110.76

!--- Configure an application service for !---- CVP VXML CVPSelfServiceBootstrap.vxml

application

service CVPSelfService flash:

CVPSelfServiceBootstrap.vxml

paramspace english language en

paramspace english index 0

paramspace english location flash:

paramspace english prefix en

!--- Configure an application service for !---- CVP VXML CVPSelfService.tcl Script !--- CVPSelfService-app parameter specifies !---- the name of the VXML Application !--- CVPPrimary parameter specifies the !---- IP address of the VXML server

service Pharmacy flash:CVPSelfService.tcl

paramspace english index 0

paramspace english language en

paramspace english location flash:

param CVPSelfService-port 7000

param CVPSelfService-app

GoodPrescriptionRefillApp7

paramspace english prefix en

param CVPPrimaryVXMLServer 172.18.110.75

!--- Specifies the Gateway’s RTP !---- stream to the ASR / TTS to go around the !---- Content Service Switch !---- instead of through the CSS.

mrcp client rtpsetup enable

!--- Specify the maximum memory size !---- for the HTTP Client Cache

http client cache memory pool 15000

!--- Specify the maximum number of file !---- that can be stored in the !---- HTTP Client Cache

http client cache memory file 500

!--- Disable Persistent !---- HTTP Connections

no http client connection persistent

!--- Configure the T1 PRI

controller T1 3/0

framing esf

linecode b8zs

pri-group timeslots 1-24

!--- Configure the ISDN switch !---- type and incoming-voice !---- under the D-channel interface

interface Serial3/0:23

no ip address

encapsulation hdlc

isdn switch-type primary-net5

isdn incoming-voice modem

no cdp enable

! --- Configure a POTS !---- dial-peer that will be used !---- as inbound dial-peer for calls coming ! --- in across the T1 PRI line. !---- The “pharmacy”service !---- is applied under this dial-peer.

dial-peer voice 1 pots

service pharmacy

destination-pattern 5555

direct-inward-dial

port 3/0:D

forward-digits all

!--- Configure a SIP Voip !---- dial-peer that will be used !---- as an outbound dial-peer when the !---Gateway initiates a MRCP overc SIP !---- session to the ASR server. !---- Codec = G711ulaw, DTMF-Relay !---- = RTP-NTE, No Vad

dial-peer voice 5 voip

session protocol sipv2

destination uri ASR

dtmf-relay rtp-nte

codec g711ulaw

no vad

!--- Configure a SIP Voip !---- dial-peer that will be used !---- as an outbound dial-peer when the !---Gateway initiates a MRCP !---- overc SIP session to the TTS server !--- Codec = G711ulaw, DTMF-Relay = RTP-NTE, !---- No Vad

dial-peer voice 6 voip

session protocol sipv2

destination uri TTS

dtmf-relay rtp-nte

codec g711ulaw

no vad

Voorbeeld van Call Flow

In deze sectie wordt de aanroep-stroom beschreven die het resultaat is van dit configuratievoorbeeld.

1. Een ISDN-oproep arriveert in de PSTN / VXML-gateway via T1 PRI 3/0.

2. De IOS gateway past POTS wijzerplaat-peer 1 als de inkomende wijzerplaat-peer voor deze vraag aan.

3. De IOS Gateway hanteert de Call Control naar de Pharmacy Service die gekoppeld is aan dial-peers 1.

4. Het CVP VXML / TCL script dat is gekoppeld aan de Farmaciedienst stuurt een HTTP GET aanvraag naar de VXML server.

5. De VXML-server geeft 200 OK-respons terug. Deze reactie bevat een VXML document / pagina.

6. De IOS Gateway voert het VXML document uit.

7. Als het VXML document een URL voor een audio vraag specificeert, laadt de IOS Gateway het Audio bestand en speelt de herinnering.

8. Als het VXML-document een tekst voor een audio-prompt specificeert, stelt de IOS-gateway een SIP-sessie met tts@172.18.110.76 (TTS-server) vast met dial-peers 5. Nadat de SIP-sessie is ingesteld, wordt er een TCP-verbinding met de TTS-server geopend met behulp van het TCP-poortnummer dat in de SDP-respons van 200 OK van de SIP-INVITE is meegeleverd. Deze TCP-verbinding wordt gebruikt om MRCP-berichten zoals SPEAK, SPEAK-COMPLETE tussen de IOS-gateway en TTS-server uit te wisselen.

De TTS Server stuurt de audiostream G.711ulaw RTP naar het IP-adres en het UDP-poortnummer dat door de gateway in SDP van de SIP INVITE wordt geleverd.

9. Als het VXML-document de gateway specificeert om DTMF-cijfers en/of gesproken woorden te herkennen, stelt de IOS-gateway een SIP-sessie met asr@172.18.110.76 (ASR-server) met dial-peers 6 vast. Nadat de SIP-sessie is ingesteld, wordt er een TCP-verbinding met de ASR-server geopend met behulp van het TCP-poortnummer dat in de SIP-respons van 200 OK van de SIP INVITE is meegeleverd. Deze TCP-verbinding wordt gebruikt voor het uitwisselen van MRCP-berichten zoals DEFINE GRAMMAR, COMPLETE, HERKENNEN EN RECOGNITION-COMPLETE tussen de IOS-gateway en ASR-server.

De IOS VXML-gateway stuurt de G.711ulaw RTP-audiobron naar het IP-adres en UDP-poortnummer dat door de ASR in de SDP van de SIP 200 OK-respons wordt geleverd. De IOS VXML Gateway stuurt de cijfers die door de PSTN-gebruiker als RTP-NTE-gebeurtenissen zijn ingevoerd naar de ASR-server.

10. Na de uitvoering van het VXML document, verstuurt de gateway een HTTP POST-aanvraag (met een reeks parameters) zoals gespecificeerd in de <submit> tag van het VXML-document / pagina.

11. Stappen 6 - 10 komen voor voor elk VXML document dat door de server wordt verstuurd.

12. Wanneer de VXML-toepassing de service die aan de beller wordt geleverd, voltooid is, wordt er een VXML-document met alleen een <exit/>-tag in het <form>-element verzonden.

13. De IOS Gateway sluit de MRCPv2 sessies af die met de TTS- en ASR-servers zijn ingesteld.

14. De IOS-gateway sluit de oproep aan de ISDN-zijde af.

Verifiëren

Gebruik dit gedeelte om te bevestigen dat de configuratie correct werkt.

Het Uitvoer Tolk (uitsluitend geregistreerde klanten) (OIT) ondersteunt bepaalde show opdrachten. Gebruik de OIT om een analyse van tonen opdrachtoutput te bekijken.

- Bel actieve voicemail kort

11F8 : 160 333356110ms.

1 +10 pid:1 Answer 5555 active

dur 00:00:54 tx:1740/300598 rx:364/85472

Tele 3/0:D (160) [3/0.1]

tx:15145/15145/0ms None noise:-52

acom:6  i/0:-32/-64 dBm

Telephony call-legs: 1

SIP call-legs: 0

H323 call-legs: 0

Call agent controlled call-legs: 0

SCCP call-legs: 0

Multicast call-legs: 0

Media call-legs: 0

Total call-legs: 1

- Bel actieve mediagroep

11F8 : 163 333360880ms.1

+60 pid:6 Originate

sip:tts@172.18.110.76:5060 active

dur 00:00:44 tx:0/0 rx:2212/353545

IP 172.18.110.76:10000 SRTP:

off rtt:0ms pl:

4485/0ms lost:0/1/0 delay:65/65/65ms

g711ulaw TextRelay: off

media inactive detected:n

media contrl rcvd:

n/a timestamp:n/a

long duration call detected:n

long duration

call duration:n/a timestamp:n/a11F8 :

164 333360890ms.1 +20 pid:5 Originate

sip:asr@172.18.110.76:5060 active

dur 00:00:44 tx:1687/297152 rx:0/0

IP 172.18.110.76:10002 SRTP:

off rtt:0ms

pl:6550/30ms lost:0/2/0 delay:65/65/65ms

g711ulaw TextRelay: off

media inactive detected:n media contrl

rcvd:n/a timestamp:n/a

long duration call detected:n

long duration

call duration:n/a timestamp:n/a

Telephony call-legs: 0

SIP call-legs: 0

H323 call-legs: 0

Call agent controlled call-legs: 0

SCCP call-legs: 0

Multicast call-legs: 0

Media call-legs: 2

Total call-legs: 2

- Actieve details weergeven van mrcp-clientsessie

No Of Active MRCP Sessions: 1

Call-ID: 0xA0 same: 0

--------------------------------------------

Resource Type: Synthesizer

URL: sip:tts@172.18.110.76

Method In Progress: SPEAK

State: S_SYNTH_SPEAKING

Associated CallID: 0xA3

MRCP version: 2.0

Control Protocol: TCP Server IP Address:

172.18.110.76  Port: 51000

Data Protocol: RTP Server IP Address:

172.18.110.76  Port: 10000

Signalling URL: sip:tts@172.18.110.76:5060

Packets Transmitted: 0 (0 bytes)

Packets Received: 2265 (361968 bytes)

ReceiveDelay: 65     LostPackets: 0

--------------------------------------------

--------------------------------------------

Resource Type: Recognizer

URL: sip:asr@172.18.110.76

Method In Progress: RECOGNIZE

State: S_RECOG_RECOGNIZING

Associated CallID: 0xA4

MRCP version: 2.0

Control Protocol: TCP Server IP Address:

172.18.110.76  Port: 51001

Data Protocol: RTP Server IP Address:

172.18.110.76  Port: 10002

Packets Transmitted: 1791 (313792 bytes)

Packets Received: 0 (0 bytes)

ReceiveDelay: 60     LostPackets: 0

- Voip-rtp-verbindingen tonen

VoIP RTP active connections :

No. CallId     dstCallId  LocalRTP

RmtRTP LocalIP

RemoteIP

1   163        160        18964

10000  14.1.16.25

172.18.110.76

2   164        160        23072

10002  14.1.16.25

172.18.110.76

Found 2 active RTP connections

- http client cache weergeven

HTTP Client cached information

==============================

Maximum memory pool allowed for

HTTP Client caching

= 15000 K-bytes

Maximum file size allowed for caching

= 500 K-bytes

Total memory used up for Cache

= 410 Bytes

Message response timeout = 10 secs

Total cached entries     = 1

Total non-cached entries = 0

Cached entries

==============

entry 114,  1 entries

Ref   FreshTime   Age          Size

context

---   ---------   ---          ----

-------

1     86400       48           1505

0

url: http://172.18.110.75/Welcome-1.wav

Problemen oplossen

Deze sectie bevat informatie waarmee u problemen met de configuratie kunt oplossen.

Opdrachten debug

Configureer de IOS-gateway om de defecten in de houtkapbuffer te registreren en schakelt "houtkapconsole" uit.

Opmerking: Raadpleeg Belangrijke informatie over debug Commands voordat u debug-opdrachten gebruikt.

Opmerking: Dit zijn de opdrachten die worden gebruikt om de gateway te configureren om de debugs in de logbuffer van de gateway op te slaan:

- Service timepostzegels debug msec

- servicessequentie

- geen logconsole

- houtkap gebufferd met 500000 debug

- helder logbestand

Dit zijn de debug opdrachten die worden gebruikt om de configuratie problemen op te lossen:

- debug van ISDN Q931

- voip ccapi inout debug

- standaard voip-toepassing vxml

- debug van voip-toepassing vxml-dumpen

- csip-bericht debug

- mrcp-details debug

- debug http client all

- debug van voip rtp-sessie met naam

Debug Outputs

In deze sectie worden debug-uitgangen voor deze voorbeeldaanroep geleverd:

1. Gateway ontvangt een inkomende oproep van PSTN.

2. Gateways overeenkomen met de inkomende dial-peer 1.

3. De oproep wordt aan de Dienst Farmacie overhandigd.

4. Het gesprek wordt aangesloten aan de ISDN-zijde.

5. De gateway start de uitvoering van het CVPSelfServiceBootstrap.vxml VoiceXML-script.

6. Gateway stuurt een HTTP GET aanvraag naar VXML Server.

7. De gateway ontvangt een OK bericht van 200 van de VXML Server. De berichttekst van deze reactie bevat VXML document (1). Dit VXML-document vertelt het Gateway-afspeelmediabestand Welcome-1.wav dat zich in een Media Server bevindt.

8. Gateway stuurt een HTTP Get Application naar de Media Server om het Welcome-1.wav-bestand te downloaden.

9. De gateway ontvangt 200 OK van de Server van de Media en ontvangt de inhoud van de Welcome-1.wav in de instantie van het HTTP-bericht.

10. Gateway stuurt een POST HTTP-aanvraag naar de server zoals gedefinieerd in de optie "Indienen" van VXML-document (1).

11. Gateway ontvangt 200 OK voor zijn POST HTTP-aanvraag. De berichttekst bevat VXML document (2). Dit VXML document vertelt de Gateway om "Dank u voor het bellen van de apotheek van Audium te spelen." Merk op dat deze herinnering door een Tekst aan Speech Server moet worden gesynthetiseerd.

12. Gateway stuurt een HTTP POST-aanvraag zoals gedefinieerd in de Submit optie van VXML-document (2).

13. De gateway ontvangt een 200 OK antwoord voor het HTTP POST-verzoek. De berichttekst bevat VXML document (3). Dit VXML document definieert een menu dat de beller vertelt om 1 in te voeren of te zeggen Refill, 2 of apotheker te zeggen. De aanwijzingen worden gesynthetiseerd door een Tekst-to-Speech Server. De ingangssignalen (spraak/DTMF) worden herkend met behulp van een automatische spraak-herkenner.

14. Gateway maakt de grammatica's die gebruikt moeten worden voor DTMF-/spraakherkenning. Deze grammatica's worden dan naar de ASR server verzonden zodra de gateway een sessie met de ASR server vaststelt.

15. De gateway voert een wijzerplaat-peer raadpleging uit om een SIP zitting met de Tekst-aan-Speech Server te vormen. De uitgaande dial-peer 6 wordt aangepast.

16. Gateway stuurt een SIP-INVITE naar TTS-server. De SDP van het INVITE-bericht bevat mediainformatie voor de Audio-stream en de MRCPv2-toepassing (sprakelkanaal).

17. Gateway voert een peer-to-peer raadpleging uit om een SIP-sessie in te stellen met de Automatic Speech Recognition-server. Uitgaande dial-peers 5 wordt gematcht.

18. Gateways stuurt een SIP INVITE naar ASR server. De SDP bevat de mediainformatie voor de audiobronnen, DTMF-relais en MRCPv2-toepassing (spraakherkenningskanaal).

19. De gateway ontvangt 200 OK-respons (voor de SIP INVITE) van de ASR-server. De SDP van het SIP INVITE-bericht specificeert:

- De G711ulaw-codec, IP-adres en RTP-poortnummers voor de audio-stream

- De directieeigenschap van deze RTP-stroom: "recvonly"

- Op RTP-NTE gebaseerde DTMF-relay

- Het TCP-poortnummer (51001) dat door de gateway wordt gebruikt om een MRCPv2-sessie met ASR-server op te zetten

20. Gateway stuurt SIP ACK naar de ASR-server en de SIP-sessie voor de automatische spraak-herkenning wordt ingesteld tussen de gateway en de ASR-server.

21. Gateway stuurt een "DEFINE-GRAMMER" MRCP-verzoek naar de ASR-server. (Hier wordt slechts één verzoek getoond.)

22. Gateway ontvangt een 200 COMPLETE reactie voor haar DEFINE-GRAMMAR-verzoek.

23. De gateway ontvangt 200 OK-respons (voor de SIP INVITE) van de TTS-server. De SDP van het SIP INVITE-bericht specificeert:

- De G711ulaw-codec, IP-adres en RTP-poortnummers voor de audio-stream

- De directie eigenschap van deze RTP-stroom: "alleen verzenden"

- Op RTP-NTE gebaseerde DTMF-relay

- Het TCP-poortnummer (51000) dat door de gateway wordt gebruikt om een MRCPv2-sessie met TTS-server op te zetten

24. De gateway stuurt SIP ACK naar de TTS Server en de SIP sessie voor de Tekst-to-Speech wordt ingesteld tussen de Gateway en de TTS server.

25. Gateway stuurt een "RECOGNIZE" MRCP-verzoek naar ASR-server om de herkenning van DTMF/gesproken woorden te starten.

26. De ASR-server stuurt een "IN-PROGRESS"-respons (voor HERKENNINGSaanvraag) naar de gateway.

27. De gateway eindigt de download van Welcome-1.wav mediabestand, slaat het op in het cache en speelt de aanroep.

28. Gateway stuurt een "SPEAK" MRCP-verzoek naar TTS Server om de "Bedankt-voor-Calling"-melding te spelen.

29. De TTS Server stuurt een "IN-PROGRESS"-antwoord op het SPEAK-verzoek.

30. TTS Server stuurt een "SPEAK-COMPLETE" bericht nadat het de "Dank-u-voor-Calling" melding heeft gemaakt.

31. Gateway stuurt een "SPEAK" MRCP-verzoek naar TTS Server om de "Menu"-melding te spelen (Voer 1 in of Zeg Refil / Voer 2 of Say apotheker). (De debug-uitvoer wordt niet weergegeven.)

32. De TTS server verstuurt een IN-PROGRESS, SPEAK-COMPLETE bericht en is klaar met het spelen van de prompt. (De debug-uitvoer wordt niet weergegeven.)

33. De PSTN-programma voert "1" in om te kiezen. Gateway stuurt dit cijfer als een RTP-NTE-gebeurtenis naar de ASR-server.

34. De ASR Server stuurt een "RECOGNITION-COMPLETE" bericht naar de gateway om de poort ervan in kennis te stellen dat het één van de gevraagde gebeurtenissen heeft herkend (in dit geval cijfer 1).

35. Nadat het een succesvolle herkenningskennisgeving van de ASR-server ontvangt, stuurt de VXML-gateway een HTTP POST-aanvraag zoals gespecificeerd in de SUBMIT-tag van VXML-document (3). Dit POST-verzoek informeert de VXML-server dat cijfer 1 door de PSTN-beller is ingevoerd.

36. De VXML server stuurt dan een ander VXML document dat de beller vraagt om hier het recept in te voeren. (De debug-uitvoer wordt niet weergegeven.)

37. De gateway stuurt het bericht MRCP naar TTS om de aanwijzingen te spreken. (De debug-uitvoer wordt niet weergegeven, maar is gelijk aan stap 28-30.)

38. Gateway stuurt het MRCP-bericht naar ASR om het 4-cijferig receptnummer te detecteren dat door de gebruiker wordt gesproken. (De debug-uitvoer wordt niet weergegeven, maar is gelijk aan stap 25-26.)

39. ASR herkent het 4-cijferig getal van het recept en stuurt een "RECOGNITION-COMPLETE" MRCP-bericht naar de IOS VXML-gateway.

40. De gateway informeert het receptnummer aan de VXML server door HTTP POST- verzoek te verzenden. (De debug-uitvoer wordt niet weergegeven, maar is gelijk aan stap 35.)

41. De VXML-server verstuurt VXML-pagina's om de opnametijd te verzamelen en de beller te informeren dat het recept klaar is voor ophaling. Gateway voert deze pagina's uit door interactie met de TTS- en ASR-server. (De debug-uitvoer wordt niet weergegeven.)

42. Het laatste VXML document dat door de VXML server wordt verstuurd bevat alleen de <exit\> tag in de <formulier>. Dit vertelt de Gateway om de VXML sessie te beëindigen.

43. Gateway beëindigt de VXML toepassing.

44. Gateway sluit de SIP-sessie af die met de ASR-server is ingesteld.

45. Gateway sluit de SIP-sessie af die met de TTS-server is ingesteld.

46. De gateway sluit de vraag aan de kant van ISDN af.

Inkomend gesprek van PSTN

*Jan 18 03:34:52.735: ISDN Se3/0:23

Q931: RX <- SETUP pd = 8  callref = 0x005A

Bearer Capability i = 0x8090A2

Standard = CCITT

Transfer Capability = Speech

Transfer Mode = Circuit

Transfer Rate = 64 kbit/s

Channel ID i = 0xA98381

Exclusive, Channel 1

Called Party Number i = 0x81, '5555'

Plan:ISDN, Type:Unknown

*Jan 18 03:34:52.735: //-1/2AEE8C2A801C/

CCAPI/cc_api_display_ie_subfields:

cc_api_call_setup_ind_common:

cisco-username=

----- ccCallInfo IE subfields -----

cisco-ani=

cisco-anitype=0

cisco-aniplan=0

cisco-anipi=0

cisco-anisi=0

dest=5555

cisco-desttype=0

cisco-destplan=1

cisco-rdie=FFFFFFFF

cisco-rdn=

cisco-rdntype=-1

cisco-rdnplan=-1

cisco-rdnpi=-1

cisco-rdnsi=-1

cisco-redirectreason=-1   fwd_final_type =0

final_redirectNumber =

hunt_group_timeout =0

Binnenkant dial-peer 1 wordt aangepast

*Jan 18 03:34:52.735:

//-1/2AEE8C2A801C/

CCAPI/cc_api_call_setup_ind_common:

Interface=0x664B4BA4, Call Info(

Calling Number=,(Calling Name=)(TON=Unknown,

NPI=Unknown, Screening=Not Screened,

Presentation=Allowed),

Called Number=5555(TON=Unknown, NPI=ISDN),

Calling Translated=FALSE, Subscriber

Type Str=RegularLine,

FinalDestinationFlag=TRUE,

Incoming Dial-peer=1, Progress

Indication=NULL(0),

Calling IE Present=FALSE,

Source Trkgrp Route Label=,

Target Trkgrp Route Label=,

CLID Transparent=FALSE),

Call Id=-1

Bel een apotheker

*Jan 18 03:34:52.739:

//127/2AEE8C2A801C/CCAPI

/cc_process_call_setup_ind:

>>>>CCAPI handed cid 127 with tag 1 to app

"_ManagedAppProcess_Pharmacy"

*Jan 18 03:34:52.739:

//127/2AEE8C2A801C/CCAPI/ccCallSetupAck:

Call Id=127

Bel wordt aangesloten op de ISDN-zijde

*Jan 18 03:34:52.739:

ISDN Se3/0:23 Q931: TX ->

CONNECT pd = 8  callref =

0x805A

*Jan 18 03:34:52.739:

//127/2AEE8C2A801C/CCAPI/ccCallHandoff:

Silent=FALSE, Application=0x663106C4,

Conference Id=0xFFFFFFFF

*Jan 18 03:34:52.743: //127//VXML:/Open_CallHandoff:

Gateway start de uitvoering van het CVPSelfServiceBootstrap.vxml Script

*Jan 18 03:34:52.755:

//127/2AEE8C2A801C/VXML:

/vxml_vxml_proc:

<vxml>

URI(abs):flash:

CVPSelfServiceBootstrap.vxml

scheme=flash

path=CVPSelfServiceBootstrap.vxml

base=

URI(abs):flash:

CVPSelfServiceBootstrap.vxml

scheme=flash

path=CVPSelfServiceBootstrap.vxml

lang=none version=2.0

<script>:

*Jan 18 03:34:52.799: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

*Jan 18 03:34:52.863: //127/2AEE8C2A801C/VXML

:/vxml_jse_global_switch:

switch to scope(application)

<var>: namep=handoffstring

expr=session.handoff_string

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var handoffstring=session.

handoff_string)

<var>: namep=application expr=getValue('APP')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var application=getValue('APP'))

<var>: namep=port expr=getValue('PORT')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var port=getValue('PORT'))

<var>: namep=callid expr=getValue('CALLID')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var callid=getValue('CALLID'))

<var>: namep=servername expr=getValue('PRIMARY')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var servername=getValue('PRIMARY'))

<var>: namep=var1 expr=getValue('var1')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var var1=getValue('var1'))

<var>: namep=var2 expr=getValue('var2')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var var2=getValue('var2'))

<var>: namep=var3 expr=getValue('var3')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var var3=getValue('var3'))

<var>: namep=var4 expr=getValue('var4')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var var4=getValue('var4'))

<var>: namep=var5 expr=getValue('var5')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var var5=getValue('var5'))

<var>: namep=status expr=getValue('status')

*Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var status=getValue('status'))

<var>: namep=prevapp expr=getValue('prevapp')

*Jan 18 03:34:52.871: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var prevapp=getValue('prevapp'))

<var>: namep=survive expr=getValue('survive')

*Jan 18 03:34:52.871: //127/2AEE8C2A801C/VXML

:/vxml_expr_eval:

expr=(var survive=getValue('survive'))

<var>: namep=handoffExit

Gateway stuurt een HTTP GET aanvraag naar de VXML server

*Jan 18 03:34:52.875:

//127//HTTPC:/httpc_write_stream:

Client write buffer fd(3):

GET /CVP/Server?application=

GoodPrescriptionRefillApp7&callid=

2AEE8C2A-0AFB11D6-801C0013-

803E8C8E&session.connection.remote.uri=555

5&session.connection.local.uri=5555 HTTP/1.1

Host: 172.18.110.75:7000

Content-Type: application/x-www-form-urlencoded

Connection: close

Accept: text/vxml, text/x-vxml, application/vxml,

application/x-vxml, application/voicexml,

application/x-voicexml, text/plain, tex

t/html, audio/basic, audio/wav,

multipart/form-data,

application/octet-stream

User-Agent: Cisco-IOS-C5400/12.4

Gateway ontvangt een 200 OK-bericht van de VXML-server

De berichttekst van deze reactie bevat een VXML document (1). Het VXML-document vertelt het Gateway-afspeelmediabestand Welcome-1.wav dat zich in een Media Server bevindt.

*Jan 18 03:34:52.883: processing server

rsp msg: msg(67CA63A8)

URL:http://172.18.110.75:7000/CVP/

Server?application=GoodPrescription

RefillApp7&callid=2AEE8C2A-0AFB11D6-801C0013

-803E8C8E&session.connection.

remote.uri=5555&session.connection.local.

uri=5555, fd(3):

*Jan 18 03:34:52.883: Request msg:

GET /CVP/Server?application=

GoodPrescriptionRefillApp7&callid=

2AEE8C2A-0AFB11D6-801C0013-803E8C8

E&session.connection.remote.

uri=5555&session

.connection.local.uri=5555 HTTP/1.1

*Jan 18 03:34:52.883:

Message Response Code: 200

*Jan 18 03:34:52.883:

Message Rsp Decoded Headers:

*Jan 18 03:34:52.883:

Date:Mon, 30 Apr 2007 16:58:39 GMT

*Jan 18 03:34:52.883:

Content-Type:text/xml;

charset=ISO-8859-1

*Jan 18 03:34:52.883:

Connection:close

*Jan 18 03:34:52.883:

Set-Cookie:JSESSIONID=

BBCE0F948ADFDB720497F587A7997538;

Path=/CVP

*Jan 18 03:34:52.883: headers:

*Jan 18 03:34:52.883: HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Set-Cookie: JSESSIONID=BBCE0F948ADF

DB720497F587A7997538; Path=/CVP

Content-Type: text/xml;charset=ISO-8859-1

Date: Mon, 30 Apr 2007 16:58:39 GMT

Connection: close

*Jan 18 03:34:52.883: body:

*Jan 18 03:34:52.883: <?xml version="1.0"

encoding="UTF-8"?>

<vxml version="2.0" application=

"/CVP/Server?audium_root=true&amp;

calling_into=GoodPrescriptionRefillApp7"

xml:lang="en-us">

<form id="audium_start_form">

<block>

<assign name="audium_vxmlLog" expr="''" />

<assign name="audium_element

_start_time_millisecs"

expr="new Date().getTime()" />

<goto next="#start" />

</block>

</form>

<form id="start">

<block>

<prompt bargein="true">

<audio src="http://172.18.110.75/

Welcome-1.wav" />

</prompt>

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||audio_group$$$' + 'initial_audio_group'

+ '^^^'

+ application.getEla

psedTime(audium_element_start_time_millisecs)" />

<submit next="/CVP/Server" method="post"

namelist=" audium_vxmlLog" />

</block>

</form>

</vxml>

Gateway stuurt een HTTP-aanvraag naar de mediaserver om het Welcome-1.wav-bestand te downloaden

GET /Welcome-1.wav HTTP/1.1

Host: 172.18.110.75

Content-Type:

application/x-www-form-urlencoded

Connection: close

Accept: text/vxml,

text/x-vxml, application/vxml,

application/x-vxml,

application/voicexml,

application/x-voicexml,

text/plain, tex

t/html, audio/basic, audio/wav,

multipart/form-data,

application/octet-stream

User-Agent: Cisco-IOS-C5400/12.4

Gateway ontvangt 200 OK van de Media Server en ontvangt de inhoud van de Welcome-1.wav in de HTTP-berichttekst

*Jan 18 03:34:55.647:

//127//HTTPC:/httpc_socket_read:

*Jan 18 03:34:55.647:

read data from the socket 3

: first 400 bytes of data:

HTTP/1.1 200 OK

Content-Length: 26450

Content-Type: audio/wav

Last-Modified:

Mon, 30 Apr 2007 15:36:51 GMT

Accept-Ranges: bytes

ETag: "e0c1445f3d8bc71:2d6"

Server: Microsoft-IIS/6.0

Date: Mon, 30 Apr 2007 16:58:42 GMT

Connection: close

RIFFJg(Unprintable char...)

0057415645666D7420120001010401

F00401F00108000666163744000176700

64617461176700FFFFFF807

FFFFFFF80FFFFFF80F

(other hex information not shown).

Gateway stuurt een POST HTTP-aanvraag naar de server zoals gedefinieerd in de optie "Inzenden" van VXML-document (1)

POST /CVP/Server HTTP/1.1

Host: 172.18.110.75:7000

Content-Length: 67

Content-Type:

application/x-www-form-urlencoded

Cookie: $Version=0; JSESSIONID=BBCE0F948

ADFDB720497F587A7997538; $Path=/CVP

Connection: close

Accept: text/vxml, text/x-vxml,

application/vxml,

application/x-vxml,

application/voicexml,

application/x-voicexml,

text/plain, tex

t/html, audio/basic, audio/wav,

multipart/form-data,

application/octet-stream

User-Agent: Cisco-IOS-C5400/12.4

Gateway ontvangt 200 OK voor zijn POST HTTP-aanvraag

De berichttekst bevat VXML document (2). In het VXML-document staat dat de gateway "Bedankt voor het oproepen van de AUTOMATISCHE apotheek" moet spelen. Merk op dat deze herinnering door een Tekst aan Speech Server moet worden gesynthetiseerd.

*Jan 18 03:34:55.651:

processing server rsp msg:

msg(67CA6960)URL:

http://172.18.110.75:

7000/CVP/Server, fd(4):

*Jan 18 03:34:55.651: Request msg:

POST /CVP/Server HTTP/1.1

*Jan 18 03:34:55.651:

Message Response Code: 200

*Jan 18 03:34:55.651:

Message Rsp Decoded Headers:

*Jan 18 03:34:55.651:

Date:Mon, 30 Apr 2007 16:58:42 GMT

*Jan 18 03:34:55.651:

Content-Type:text/xml;

charset=ISO-8859-1

*Jan 18 03:34:55.651: Connection:close

*Jan 18 03:34:55.651: headers:

*Jan 18 03:34:55.651: HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Content-Type: text/xml;charset=ISO-8859-1

Date: Mon, 30 Apr 2007 16:58:42 GMT

Connection: close

*Jan 18 03:34:55.655: body:

*Jan 18 03:34:55.655: <?xml version="1.0"

encoding="UTF-8"?>

<vxml version="2.0" application=

"/CVP/Server?audium_root=true&amp;

calling_into=GoodPrescriptionRefillApp7"

xml:lang="en-us">

<form id="audium_start_form">

<block>

<assign name="audium_vxmlLog" expr="''" />

<assign name="audium_element

_start_time_millisecs"

expr="new Date().getTime()" />

<goto next="#start" />

</block>

</form>

<form id="start">

<block>

<prompt bargein="true">

Thank you for calling Audium pharmacy.

</prompt>

<assign name="audium_vxmlLog" expr=

"audium_vxmlLog + '|||audio_group$$$'

+ 'initial_audio_group'

+ '^^^' + application.getEla

psedTime(audium_element_start_time_millisecs)" />

<submit next="/CVP/Server" method="post"

namelist=" audium_vxmlLog" />

</block>

</form>

</vxml>

Gateway zendt een HTTP POST-aanvraag toe zoals gedefinieerd in de Submit optie van VXML-document (2)

*Jan 18 03:34:55.667:

//127//HTTPC:/httpc_write_stream:

Client write buffer fd(4):

POST /CVP/Server HTTP/1.1

Host: 172.18.110.75:7000

Content-Length: 67

Content-Type:

application/x-www-form-urlencoded

Cookie: $Version=0; JSESSIONID=

BBCE0F948ADFDB720497F587A7997538;

$Path=/CVP

Connection: close

Accept: text/vxml, text/x-vxml,

application/vxml,

application/x-vxml, application/voicexml,

application/x-voicexml, text/plain, tex

t/html, audio/basic, audio/wav,

multipart/form-data,

application/octet-stream

User-Agent: Cisco-IOS-C5400/12.4

Gateway ontvangt 200 OK-respons voor HTTP POST-aanvraag

De berichttekst bevat VXML document (3). Dit VXML document definieert een menu dat de beller vertelt om 1 in te voeren of te zeggen Refill, of om 2 in te gaan of apotheker te zeggen. De aanwijzingen worden gesynthetiseerd door een Tekst-to-Speech Server. De input (spraak/DTMF) wordt herkend met een automatische spraak-herkenner.

*Jan 18 03:34:57.499:

processing server rsp msg:

msg(67CA6B48)URL:

http://172.18.110.75:7000/CVP/Server, fd(4):

*Jan 18 03:34:57.499: Request msg:

POST /CVP/Server HTTP/1.1

*Jan 18 03:34:57.499:

Message Response Code: 200

*Jan 18 03:34:57.499:

Message Rsp Decoded Headers:

*Jan 18 03:34:57.499:

Date:Mon, 30 Apr 2007 16:58:42 GMT

*Jan 18 03:34:57.499:

Content-Type:text/xml;charset=ISO-8859-1

*Jan 18 03:34:57.499: Connection:close

*Jan 18 03:34:57.499: headers:

*Jan 18 03:34:57.499: HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Content-Type: text/xml;charset=ISO-8859-1

Date: Mon, 30 Apr 2007 16:58:42 GMT

Connection: close

*Jan 18 03:34:57.499: body:

*Jan 18 03:34:57.499: ... Buffer too large

- truncated to (4096) len.

*Jan 18 03:34:57.499: <?xml version="1.0"

encoding="UTF-8"?>

<vxml version="2.0" application=

"/CVP/Server?audium_root=true&amp;

calling_into=GoodPrescriptionRefillApp7"

xml:lang="en-us">

<property name="timeout" value="60s" />

<property name="confidencelevel" value="0.40" />

<form id="audium_start_form">

<block>

<assign name="audium_vxmlLog" expr="''" />

<assign name="audium_element

_start_time_millisecs"

expr="new Date().getTime()" />

<goto next="#start" />

</block>

</form>

<form id="start">

<block>

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||audio_group$$$' + 'initial_audio_group' + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<goto nextitem="choice_fld" />

</block>

<field name="choice_fld" modal="false">

<property name="inputmodes" value="dtmf voice" />

<prompt bargein="true">Say refills or press 1.

Or.

Say pharmacist or press 2.</prompt>

<catch event="nomatch">

<prompt bargein="true">Sorry.

I did not understand that.

Say refills or press 1.

Say pharmacist or press 2.</prompt>

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||nomatch$$$' + '1' + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||audio_group$$$' + 'nomatch_audio_group'

+ '^^^' + application.getElapsedTime(

audium_element_start_time_millisecs)" />

</catch>

<catch event="nomatch" count="2">

<prompt bargein="true">

Sorry, I still did not get that.

If you are using a speaker phone.

Please use the phone keypad to make

your selection.

Press 1 for refills.

Press 2 to speak to a pharmacist.</prompt>

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||nomatch$$$' + '2' + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||audio_group$$$' + 'nomatch_audio_group'

+ '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

</catch>

<catch event="nomatch" count="3">

<prompt bargein="true">Gee.

Looks like we are having some trouble.</prompt>

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||nomatch$$$' + '3' + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||audio_group$$$' + 'nomatch_audio_group'

+ '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<var name="maxNoMatch" expr="'yes'" />

<submit next="/CVP/Server" method="post"

namelist="

audium_vxmlLog maxNoMatch" />

</catch>

<catch event="noinput">

<prompt bargein="true">Sorry.

I did not hear that.

Say refills or press 1.

Say pharmacist or press 2.</prompt>

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||noinput$$$' + '1' + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||audio_group$$$' + 'noinput_audio_group'

+ '^^^' + application.getElapsedTime

(audium_element_start_time_millisecs)" />

</catch>

<catch event="noinput" count="2">

<prompt bargein="true">I am sorry.

I still did not hear that.

If you are using a speaker phone.

Please use the phone keypad

to make your selection.

Press 1 for refills.

Press 2 to speak to a pharmacist.</prompt>

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||noinput$$$' + '2' + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||audio_group$$$' + 'noinput_

audio_group' + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

</catch>

<catch event="noinput" count="3">

<prompt bargein="true">Gee.

Looks like we are having some trouble.</prompt>

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||noinput$$$' + '3' + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||audio_group$$$' + 'noinput_

audio_group' + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<var name="maxNoInput" expr="'yes'" />

<submit next="/CVP/Server" method="post"

namelist=" audium_vxmlLog maxNoInput" />

</catch>

<option value="refills" dtmf="1">

prescription</option>

<option value="refills">refills</option>

<option value="refills">

prescription refills</option>

<option value="refills">

refill my prescription</option>

<option value="refills">

I want to refill my prescription</option>

<option value="refills">

refills please</option>

<option value="Pharmacist"

dtmf="2">Pharmacist</option>

<option value="Pharmacist">

I want to speak to a pharmacist</option>

<option value="Pharmacist">

pharmacist please</option>

<filled>

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||utterance$$$' + choice_fld$.

utterance + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||inputmode$$$' + choice_fld$.

inputmode + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||interpretation$$$' + choice_fld + '^^^'

+ application.getElapsedTim

(audium_element_start_time_millisecs)" />

<assign name="audium_vxmlLog"

expr="audium_vxmlLog

+ '|||confidence$$$' + choice_fld$.

confidence + '^^^'

+ application.getElapsedTime

(audium_element_start_time_millisecs)" />

<var name="confidence"

expr="choice_fld$.confidence" />

<submit next="/CVP/Server" method="post"

namelist=" audium_vxmlLog confidence choice_fld" />

</filled>

</field>

</form>

</vxml>

Gateway maakt de grammen die gebruikt worden voor DTMF-/spraakherkenning

Deze grammatica's worden dan naar de ASR server verzonden zodra de gateway een sessie met de ASR server vaststelt.

*Jan 18 03:34:57.523:

//127//AFW_:/vapp_asr_change_server:

asr_server=sip:asr@172.18.110.76

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option485@field.grammar

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0" encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us"

root="root"><rule id="root" scope="public">

prescription</rule></grammar>

*Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=339,

Event=0x63ACCCF0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option486@field.grammar

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0"

encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

mode="dtmf" root=

"root"><rule id="root" scope=

"public">1</rule></grammar>

*Jan 18 03:34:57.523: //-1//MRCP:

/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=340,

Event=0x63ACCAE8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option487@field.grammar

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0"

encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us"

root="root"><rule id="root" scope="public">

refills</rule></grammar>

*Jan 18 03:34:57.523: //-1//MRCP

:/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=341,

Event=0x63ACBC88

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option488@field.grammar

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0" encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us"

root="root"><rule id="root" scope="public">

prescription refills</rule></grammar>

*Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=342,

Event=0x63ACBCB0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option489@field.grammar

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0"

encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar" xml:

lang="en-us" root="root">

<rule id="root" scope="public">

refill my prescription</rule><

/grammar>

*Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94,

Count=343, Event=0x63ACBCD8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option490@field.grammar

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0" encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us" root="root">

<rule id="root" scope="public">

I want to refill my prescription

</rule></grammar>

*Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=344,

Event=0x63ACBD00

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option491@field.grammar

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0" encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us"

root="root"><rule id="root" scope="public">

refills please</rule></grammar

>

*Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=345,

Event=0x63ACBD28

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option492@field.grammar

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0"

encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us"

root="root"><rule id="root"

scope="public"> Pharmacist

</rule></grammar>

*Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=346,

Event=0x63ACBB20

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option493@field.grammar

*Jan 18 03:34:57.523:

//127//AFW_:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523:

//127//AFW_:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523:

//127//AFW_:/vapp_asr_define_grammar:

grammar=<?xml version="1.0"

encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

mode="dtmf" root="root">

<rule id="root" scope=

"public">2</rule></grammar>

*Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94,

Count=347, Event=0x63ACBD50

*Jan 18 03:34:57.523:

//127//AFW_:/vapp_asr_define_grammar:

*Jan 18 03:34:57.523:

//127//AFW_:/vapp_asr_define_grammar:

grammar_id=session:

option494@field.grammar

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0"

encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us"

root="root"><rule id="root" scope="public">

I want to speak to a pharmacist

</rule></grammar>

*Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94,

Count=348, Event=0x63ACBFF8

*Jan 18 03:34:57.523: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.527: //127//AFW_

:/vapp_asr_define_grammar:

grammar_id=session:option495@field.grammar

*Jan 18 03:34:57.527: //127//AFW_

:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.527: //127//AFW_

:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.527: //127//AFW_

:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.527: //127//AFW_

:/vapp_asr_define_grammar:

grammar=<?xml version="1.0"

encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us"

root="root"><rule id="root" scope="public">

pharmacist please

</rule></grammar>

*Jan 18 03:34:57.527:

//-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94,

Count=349, Event=0x63ACC048

*Jan 18 03:34:57.527: //127//AFW_

:/vapp_asr_define_grammar:

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

grammar_id=session:link496@document.grammar

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

grammar=<?xml version="1.0"

encoding="UTF-8"?>

<grammar xmlns="http://ww

w.w3.org/2001/06/grammar" mode="voice"

version="1.0"

root="Hotlink_02_VOICE" xml:lang="en-us">

<rule id="Hotlink_02_VOICE" scope="public">

<one-of>

<item>operator</item>

<item>agent</item>

<item>pharmacist</item>

</one-of>

</rule>

</grammar>

*Jan 18 03:34:57.527: //-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=350,

Event=0x63ACC098

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

grammar_id=session:link497@document.grammar

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

remoteupdate=0

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

grammar=<?xml version="1.0" encoding="UTF-8"?>

<grammar xmlns="http://ww

w.w3.org/2001/06/grammar" mode="voice" version="1.0"

root="Hotlink_01_VOICE" xml:lang="en-us">

<rule id="Hotlink_01_VOICE" scope="public">

<one-of>

<item>operator</item>

<item>agent</item>

<item>pharmacist</item>

</one-of>

</rule>

</grammar>

*Jan 18 03:34:57.527:

//-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=351,

Event=0x63ACC0C0

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

grammar_id=session:help@grammar

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

xml_lang=en-us

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

encoding_name=UTF-8

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

remoteupdate=1

*Jan 18 03:34:57.527:

//127//AFW_:/vapp_asr_define_grammar:

grammar=<?xml version="1.0"

encoding="UTF-8"?>

<grammar version="1.0" xm

lns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us"

root="root"><rule id="root"

scope="public">

help</rule></grammar>

*Jan 18 03:34:57.527:

//-1//MRCP:/mrcp_get_ev:

****>Caller PC=0x61BE1F94, Count=352,

Event=0x63ACBEE0

*Jan 18 03:34:57.527: //127//AFW_:/vapp_asr:

grammar_id=session:option485@field.grammar

grammar_id=session:option486@field.grammar

grammar_id=session:option487@field.grammar

grammar_id=session:option488@field.grammar

grammar_id=session:option489@field.grammar

grammar_id=session:option490@field.grammar

grammar_id=session:option491@field.grammar

grammar_id=session:option492@field.grammar

grammar_id=session:option493@field.grammar

grammar_id=session:option494@field.grammar

grammar_id=session:option495@field.grammar

grammar_id=session:link496@document.grammar

grammar_id=session:link497@document.grammar

grammar_id=session:help@grammar

Gateway voert een protocol voor dial-peers uit om een SIP-sessie met de tekst-to-Speech Server te maken

De uitgaande dial-peer 6 wordt aangepast.

*Jan 18 03:34:57.527:

//-1/xxxxxxxxxxxx/CCAPI/ccCallSetupRequest:

Destination Pattern=,

Called Number=sip:tts@172.18.110.76,

Digit Strip=FALSE

*Jan 18 03:34:57.527:

//-1/xxxxxxxxxxxx/CCAPI/ccCallSetupRequest:

Calling Number=5555(TON=Unknown, NPI=Unknown,

Screening=Not Screened,

Presentation=Allowed),

Called Number=sip:tts@172.18.110.76(TON=Unknown,

NPI=ISDN),

Redirect Number=, Display Info=

Account Number=, Final Destination Flag=TRUE,

Guid=2AEE8C2A-0AFB-11D6-801C-0013803E8C8E,

Outgoing Dial-peer=6

*Jan 18 03:34:57.531:

//-1/xxxxxxxxxxxx/CCAPI/cc

_api_display_ie_subfields:

ccCallSetupRequest:

cisco-username=

----- ccCallInfo IE subfields -----

cisco-ani=5555

cisco-anitype=0

cisco-aniplan=0

cisco-anipi=0

cisco-anisi=0

dest=sip:tts@172.18.110.76

cisco-desttype=0

cisco-destplan=1

cisco-rdie=FFFFFFFF

cisco-rdn=

cisco-rdntype=-1

cisco-rdnplan=-1

cisco-rdnpi=-1

cisco-rdnsi=-1

cisco-redirectreason=-1   fwd_final_type =0

final_redirectNumber =

hunt_group_timeout =0

*Jan 18 03:34:57.531:

//-1/xxxxxxxxxxxx/CCAPI/

ccIFCallSetupRequestPrivate:

Interface=0x662CE538, Interface Type=3,

Destination=, Mode=0x0,

Call Params(Calling Number=5555,

(Calling Name=)(TON=Unknown,

NPI=Unknown, Screening=Not Screened,

Presentation=Allowed),

Called Number=sip:tts@172.18.110.76

(TON=Unknown, NPI=ISDN),

Calling Translated=FALSE,

Subscriber Type Str=RegularLine,

FinalDestinationFlag=TRUE,

Outgoing Dial-peer=6, Call Count On=FALSE,

Source Trkgrp Route Label=,

Target Trkgrp Route Label=,

tg_label_flag=0, Application Call Id=)

Gateway stuurt een SIP-INVITE naar de TTS-server

De SDP van het INVITE-bericht bevat mediainformatie voor de Audio-stream en de MRCPv2-toepassing (sprakelkanaal).

*Jan 18 03:34:57.531:

//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:

Sent:

INVITE sip:tts@172.18.110.76:5060 SIP/2.0

Via: SIP/2.0/UDP 14.1.16.25:

5060;branch=z9hG4bK931F1D

Remote-Party-ID: <sip:5555@14.1.16.25>;

party=calling;screen=no;privacy=off

From: <sip:5555@14.1.16.25>

;tag=E54D43C-1EC4

To: sip:tts@172.18.110.76

Date: Fri, 18 Jan 2002 03:34:57 GMT

Call-ID: 2DCA5BEF-AFB11D6-80D3DC30

-3585E95A@14.1.16.25

Supported: 100rel,timer,

resource-priority,replaces

Min-SE:  1800

Cisco-Guid: 720276522-184226262

-2149318675-2151582862

User-Agent: Cisco-SIPGateway/IOS-12.x

Allow: INVITE, OPTIONS, BYE,

CANCEL, ACK, PRACK, UPDATE,

REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER

CSeq: 101 INVITE

Max-Forwards: 70

Timestamp: 1011324897

Contact: <sip:5555@14.1.16.25:5060>

Expires: 180

Allow-Events: telephone-event

Content-Type: application/sdp

Content-Disposition:

session;handling=required

Content-Length: 358

v=0

o=CiscoSystemsSIP-GW-UserAgent

6021 4611 IN IP4 14.1.16.25

s=SIP Call

c=IN IP4 14.1.16.25

t=0 0

m=audio 16984 RTP/AVP 0 101

c=IN IP4 14.1.16.25

a=rtpmap:0 PCMU/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

a=recvonly

a=mid:1

m=application 9 TCP/MRCPv2

a=setup:active

a=connection:new

a=resource:speechsynth

a=cmid:1

Gateway voert een protocol voor dial-peers uit om een SIP-sessie met de ASR-server in te stellen

De uitgaande dial-peer 5 wordt aangepast.

*Jan 18 03:34:57.531:

//-1/xxxxxxxxxxxx/CCAPI/ccCallSetupRequest:

Destination Pattern=,

Called Number=sip:asr@172.18.110.76,

Digit Strip=FALSE

*Jan 18 03:34:57.531:

//-1/xxxxxxxxxxxx/CCAPI/ccCallSetupRequest:

Calling Number=5555(TON=Unknown, NPI=Unknown,

Screening=Not Screened, Presentation=Allowed),

Called Number=sip:asr@172.18.110.76

(TON=Unknown, NPI=ISDN),

Redirect Number=, Display Info=

Account Number=, Final Destination Flag=TRUE,

Guid=2AEE8C2A-0AFB-11D6-801C-0013803E8C8E,

Outgoing Dial-peer=5

*Jan 18 03:34:57.531:

//-1/xxxxxxxxxxxx/CCAPI/cc_api

_display_ie_subfields:

ccCallSetupRequest:

cisco-username=

----- ccCallInfo IE subfields -----

cisco-ani=5555

cisco-anitype=0

cisco-aniplan=0

cisco-anipi=0

cisco-anisi=0

dest=sip:asr@172.18.110.76

cisco-desttype=0

cisco-destplan=1

cisco-rdie=FFFFFFFF

cisco-rdn=

cisco-rdntype=-1

cisco-rdnplan=-1

cisco-rdnpi=-1

cisco-rdnsi=-1

cisco-redirectreason=-1

fwd_final_type =0

final_redirectNumber =

hunt_group_timeout =0

*Jan 18 03:34:57.535:

//-1/xxxxxxxxxxxx/CCAPI

/ccIFCallSetupRequestPrivate:

Interface=0x662CE538, Interface Type=3,

Destination=, Mode=0x0,

Call Params(Calling Number=5555,

(Calling Name=)(TON=Unknown,

NPI=Unknown, Screening=Not Screened,

Presentation=Allowed),

Called Number=sip:asr@172.18.110.76

(TON=Unknown, NPI=ISDN),

Calling Translated=FALSE,

Subscriber Type Str=RegularLine,

FinalDestinationFlag=TRUE,

Outgoing Dial-peer=5, Call Count On=FALSE,

Source Trkgrp Route Label=,

Target Trkgrp Route Label=,

tg_label_flag=0, Application Call Id=)

Gateways verzenden een SIP-INVITE naar ASR-server

De SDP bevat de media-informatie voor de audiobronnen, DTMF-relais. en MRCPv2-toepassing (sprakerkanaal).

*Jan 18 03:34:57.535:

//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:

Sent:

INVITE sip:asr@172.18.110.76:5060 SIP/2.0

Via: SIP/2.0/UDP

14.1.16.25:5060;branch=z9hG4bK94C0B

Remote-Party-ID: <sip:5555@14.1.16.25>;

party=calling;screen=no;privacy=off

From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB

To: sip:asr@172.18.110.76

Date: Fri, 18 Jan 2002 03:34:57 GMT

Call-ID: 2DCAF817-AFB11D6

-80D5DC30-3585E95A@14.1.16.25

Supported: 100rel,timer,

resource-priority,replaces

Min-SE:  1800

Cisco-Guid: 720276522-184226262-

2149318675-2151582862

User-Agent: Cisco-SIPGateway/IOS-12.x

Allow: INVITE, OPTIONS, BYE, CANCEL,

ACK, PRACK, UPDATE,

REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER

CSeq: 101 INVITE

Max-Forwards: 70

Timestamp: 1011324897

Contact: <sip:5555@14.1.16.25:5060>

Expires: 180

Allow-Events: telephone-event

Content-Type: application/sdp

Content-Disposition:

session;handling=required

Content-Length: 358

v=0

o=CiscoSystemsSIP-GW-UserAgent

6805 2057 IN IP4 14.1.16.25

s=SIP Call

c=IN IP4 14.1.16.25

t=0 0

m=audio 19994 RTP/AVP 0 101

c=IN IP4 14.1.16.25

a=rtpmap:0 PCMU/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

a=sendonly

a=mid:1

m=application 9 TCP/MRCPv2

a=setup:active

a=connection:new

a=resource:speechrecog

a=cmid:1

Gateway ontvangt 200 OK-respons (voor SIP INVITE) van de ASR-server

1. G711ulaw-codec, IP-adres en RTP-poortnummers voor de audio-stream.

2. De directie eigenschap van deze RTP stream is "alleen-herwinnen".

3. Op RTP-NTE gebaseerde DTMF-relay.

4. TCP poortnummer (51001) dat door de gateway wordt gebruikt om een MRCPv2-sessie met ASR-server op te zetten.

*Jan 18 03:34:57.559:

//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:

Received:

SIP/2.0 200 OK

Via: SIP/2.0/UDP 14.1.16.25:5060;

branch=z9hG4bK94C0B

To: <sip:asr@172.18.110.76>;tag=a99d0500

From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB

Call-ID: 2DCAF817-AFB11D6-80D5DC30-

3585E95A@14.1.16.25

CSeq: 101 INVITE

Contact: <sip:172.18.110.76:5060>

Content-Type: application/sdp

Content-Length: 342

v=0

o=MRCPv2Server 3386937590 3386937590

IN IP4 172.18.110.76

s=SIP Call

c=IN IP4 172.18.110.76

t=3386937590 0

m=audio 10002 RTP/AVP 0 101

a=rtpmap:0 PCMU/8000

a=rtpmap:101 telephone-event/8000

a=recvonly

m=application 51001 TCP/MRCPv2

a=connection:new

a=setup:passive

a=model:besteffort

a=channel:000023B846361276@speechrecog

Gateway verzenden SIP ACK naar ASR-server

De SIP sessie voor ASR wordt ingesteld tussen de gateway en de ASR server.

*Jan 18 03:34:57.563:

//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:

Sent:

ACK sip:172.18.110.76:5060 SIP/2.0

Via: SIP/2.0/UDP 14.1.16.25:5060;branch=z9hG4bK9520FA

From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB

To: <sip:asr@172.18.110.76>;tag=a99d0500

Date: Fri, 18 Jan 2002 03:34:57 GMT

Call-ID: 2DCAF817-AFB11D6-80D5DC30-3585E95A@14.1.16.25

Max-Forwards: 70

CSeq: 101 ACK

Allow-Events: telephone-event

Content-Length: 0

Gateway stuurt MRCP-verzoek van "DEFINE-GRAMMER" naar ASR-server

Hier wordt slechts één verzoek getoond.

MRCP/2.0 446      DEFINE-GRAMMAR  1

Channel-Identifier: 000023B846361276@speechrecog

:

Speech-Language: en-us

Content-Base: http://172.18.110.75:7000/CVP/

:

Content-Type: application/srgs+xml

Content-Id: option485@field.grammar

Content-Length: 193

:

<?xml version="1.0" encoding="UTF-8"?>

<grammar version="1.0"

mlns="http://www.w3.org/2001/06/grammar"

xml:lang="en-us" root="root"

><rule id="root" scope="public">

prescription</rule></grammar>

Gateway ontvangt een 200 COMPLETE respons voor zijn DEFINE-GRAMMAR-aanvraag

*Jan 18 03:34:57.587: //-1//MRCP:/hash_get:

Table=mrcpv2_socket_connect_table, Key=0:

MRCP/2.0 80 1 200 COMPLETE

Channel-Identifier: 000023B846361276@speechrecog

Gateway ontvangt een 200 OK-respons (voor SIP INVITE) op de TTS-server

De SDP van het SIP INVITE-bericht specificeert:

1. G711ulaw-codec, IP-adres en RTP-poortnummers voor de audio-stream.

2. De directie eigenschap van deze RTP stream is "enkel verzonden".

3. RTP-NTE-gebaseerde DTMF-relay

4. TCP-poortnummer (51000) dat door de gateway wordt gebruikt om een MRCPv2-sessie met TTS-server op te zetten.

*Jan 18 03:34:57.591:

//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:

Received:

SIP/2.0 200 OK

Via: SIP/2.0/UDP 14.1.16.25:5060;

branch=z9hG4bK931F1D

To: <sip:tts@172.18.110.76>;tag=c1160600

From: <sip:5555@14.1.16.25>;tag=E54D43C-1EC4

Call-ID: 2DCA5BEF-AFB11D6-80D3DC30-

3585E95A@14.1.16.25

CSeq: 101 INVITE

Contact: <sip:172.18.110.76:5060>

Content-Type: application/sdp

Content-Length: 342

v=0

o=MRCPv2Server 3386937590 3386937590

IN IP4 172.18.110.76

s=SIP Call

c=IN IP4 172.18.110.76

t=3386937590 0

m=audio 10000 RTP/AVP 0 101

a=rtpmap:0 PCMU/8000

a=rtpmap:101 telephone-event/8000

a=sendonly

m=application 51000 TCP/MRCPv2

a=connection:new

a=setup:passive

a=model:besteffort

a=channel:000023EC46361276@speechsynth

Gateway stuurt SIP ACK naar de TTS server

De SIP sessie voor Tekst-to-Speech wordt ingesteld tussen de gateway en de TTS server.

*Jan 18 03:34:57.595:

//-1/xxxxxxxxxxxx/SIP/

Msg/ccsipDisplayMsg:

Sent:

ACK sip:172.18.110.76:5060 SIP/2.0

Via: SIP/2.0/UDP 14.1.16.25:5060;

branch=z9hG4bK9626BC

From: <sip:5555@14.1.16.25>;tag=E54D43C-1EC4

To: <sip:tts@172.18.110.76>;tag=c1160600

Date: Fri, 18 Jan 2002 03:34:57 GMT

Call-ID: 2DCA5BEF-AFB11D6-80D3DC30

-3585E95A@14.1.16.25

Max-Forwards: 70

CSeq: 101 ACK

Allow-Events: telephone-event

Content-Length: 0

Gateway stuurt "RECOGNIZE" MRCP-aanvraag naar ASR-server

MRCP/2.0 987

RECOGNIZE  15

Channel-Identifier:

000023B846361276@speechrecog

:

Speech-Language: en-us

Confidence-Threshold: 0.40

Sensitivity-Level: 0.50

Speed-Vs-Accuracy: 0.50

Cancel-If-Queue: false

Dtmf-Interdigit-Timeout: 10000

Dtmf-Term-Timeout: 0

Dtmf-Term-Char: #

No-Input-Timeout: 60000

N-Best-List-Length: 1

Logging-Tag: 127:127

Accept-Charset: charset: utf-8

Content-Base:

http://172.18.110.75:7000/CVP/

Media-Type: audio/basic

Start-Input-Timers: false

:

Content-Type: text/uri-list

Content-Length: 453

:

session:option485@field.grammar

session:option486@field.grammar

session:option487@field.grammar

session:option488@field.grammar

session:option489@field.grammar

session:option490@field.grammar

session:option491@field.grammar

session:option492@field.grammar

session:option493@field.grammar

session:option494@field.grammar

session:option495@field.grammar

session:link496@document.grammar

session:link497@document.grammar

session:help@grammar

ASR Server stuurt "IN PROGRESS"-respons (voor HERKENNINGSaanvraag) naar de gateway

MRCP/2.0 84 15 200 IN-PROGRESS

Channel-Identifier:

000023B846361276@speechrecog

Gateway maakt het downloaden van het mediabestand Welcome-1.wav af

Het slaat het op in de cache en speelt de aanroep.

*Jan 18 03:35:04.335:

//127//HTTPC:/httpc_is_cached:

HTTPC_FILE_IS_CACHED

*Jan 18 03:35:04.335: //-1//HTTPC:

/httpc_set_cache_revoke_cb:

Registering revoke_callback(0x61CDD948)

+pcontext(0x63A7AAA8) for cach

ep(0x68734930)

*Jan 18 03:35:04.335: //127//AFW_:/vapp_driver:

evtID: 146 vapp record state: 0

*Jan 18 03:35:04.335: //127//AFW_:/vapp_play_done:

evID=146 reason=17,

protocol=5, status_code=0, dur=3291, rate=0

*Jan 18 03:35:04.335: //127/2AEE8C2A801C/VXML:

/vxml_media_done:

Gateway stuurt het "SPEAK" MRCP-verzoek naar de TTS-server om de bedankaanvraag af te spelen

MRCP/2.0 376      SPEAK  1

Channel-Identifier:

000023EC46361276@speechsynth

:

Kill-On-Barge-In: true

Speech-Language: en-us

Logging-Tag: 127:127

Content-Base:

http://172.18.110.75:7000/CVP/

:

Content-Type: application/ssml+xml

Content-Length: 123

:

<?xml version="1.0" encoding="UTF-8"?>

<speak version="1.0" xml:lang="en-us">

Thank you for calling Audium pharmacy.</speak>

De TTS-server stuurt de "IN-PROGRESS"-respons voor de SPEAK-aanvraag

MRCP/2.0 83 1 200 IN-PROGRESS

Channel-Identifier:

000023EC46361276@speechsynth

De TTS Server stuurt het "SPEAK-COMPLETE" bericht nadat het de bedankvraag heeft gesproken

MRCP/2.0 141 SPEAK-COMPLETE 1 COMPLETE

Channel-Identifier:

000023EC46361276@speechsynth

Completion-Cause: 000 normal

Speech-Marker: ""

Het PSTN-programma voert "1" in om opnieuw te kiezen

Gateway stuurt dit cijfer als een RTP-NTE-gebeurtenis naar de ASR-server.

*Jan 18 03:35:12.583:

s=DSP d=VoIP payload 0x65 ssrc

0x15 sequence 0x1E9B timestamp 0x2FADCC60

*Jan 18 03:35:12.583:          Pt:101    Evt:1

Pkt:03 00 00  <Snd>>>

*Jan 18 03:35:12.587:

s=DSP d=VoIP payload 0x65 ssrc

0x15 sequence 0x1E9C timestamp 0x2FADCC60

*Jan 18 03:35:12.587:          Pt:101    Evt:1

Pkt:03 00 00  <Snd>>>

*Jan 18 03:35:12.631:

s=DSP d=VoIP payload 0x65 ssrc

0x15 sequence 0x1E9E timestamp 0x2FADCC60

*Jan 18 03:35:12.631:          Pt:101    Evt:1

Pkt:03 01 90  <Snd>>>

*Jan 18 03:35:12.683:

s=DSP d=VoIP payload 0x65 ssrc

0x15 sequence 0x1E9F timestamp 0x2FADCC60

*Jan 18 03:35:12.683:          Pt:101    Evt:1

Pkt:03 03 20  <Snd>>>

*Jan 18 03:35:12.703:

s=DSP d=VoIP payload 0x65 ssrc

0x15 sequence 0x1EA0 timestamp 0x2FADCC60

*Jan 18 03:35:12.703:          Pt:101    Evt:1

Pkt:83 03 38  <Snd>>>

*Jan 18 03:35:12.707:          s=DSP d=VoIP payload

0x65 ssrc 0x15 sequence 0x1EA1 timestamp 0x2FADCC60

*Jan 18 03:35:12.707:          Pt:101    Evt:1

Pkt:83 03 38  <Snd>>>

*Jan 18 03:35:12.711:          s=DSP d=VoIP payload

0x65 ssrc 0x15 sequence

0x1EA2 timestamp 0x2FADCC60

*Jan 18 03:35:12.711:          Pt:101    Evt:1

Pkt:83 03 38  <Snd>>>

ASR Server stuurt een "RECOGNITION-COMPLETE" bericht naar de gateway

Dit geeft de toegangspoort kennis van een van de gevraagde gebeurtenissen (in dit geval cijfer 1).

MRCP/2.0 513

RECOGNITION-COMPLETE 15 COMPLETE

Channel-Identifier:

000023B846361276@speechrecog

Proxy-Sync-Id: 0B82553000000027

Completion-Cause: 000 success

Content-Type: application/nlsml+xml

Content-Length: 292

<?xml version="1.0" encoding="UTF-8"?>

<result grammar="session:option486@field.grammar">

<interpretation grammar=

"session:option486@field.grammar"

confidence="0.000000">

<instance>

1

</instance>

<input mode="dtmf"

confidence="1.000000">

1

</input>

</interpretation>

</result>

VXML-gateway ontvangt een geslaagde herkenningsmelding van de ASR-server

Na ontvangst van deze kennisgeving stuurt de VXML Gateway een HTTP POST-aanvraag zoals gespecificeerd in de SUBMIT-tag van VXML-document (3). Dit POST-verzoek informeert de VXML-server dat cijfer 1 door de PSTN-beller is ingevoerd.

*Jan 18 03:35:12.863:

//127/2AEE8C2A801C/VXML:/vxml_vapp_bgpost:

url http://172.18.110.75:7000/CVP/Server

cachable 1 timeout

0 body audium_vxmlLog=%7C%7C%7Caudio

_group$$$initial_audio_group%5E%

5E%5E4%7C%7C%7Cutterance$$$1%5E%5E%5E153

40%7C%7C%7Cinputmode

$$$dtmf%5E%5E%5E15344%7C%7C%7C

interpretation$$$refills%5E%5E%5E15344%7C

%7C%7Cconfidence$$$0%5E%5E%5E15344&confidence=

0&choice_fld=refills

len 258maxage -1 maxstale -1

*Jan 18 03:35:12.863: //127//AFW_:/vapp_bgpost:

url=http://172.18.110.75:7000/CVP/Server;

mime_type=application/x-www-form-urlencod

ed; len=258; iov_base=audium_vxmlLog=%7C%7C%7Caudio_

group$$$initial_audio_group

%5E%5E%5E4%7C%7C%7Cutterance

$$$1%5E%5E%5E15340%7C%7C

%7Cinputmode$$$dtmf%5E%5E%5E15344%

7C%7C%7Cinterpretation$$$refills

%5E%5E%5E15344%7C%7C%7Cconfidence$$$0

%5E%5E%5E15344&confidence=0&

choice_fld=refills

*Jan 18 03:35:12.931:

about to send data to the socket 3

: first 400 bytes of data:

POST /CVP/Server HTTP/1.1

Host: 172.18.110.75:7000

Content-Length: 258

Content-Type: application/x-www-form-urlencoded

Cookie: $Version=0; JSESSIONID=

BBCE0F948ADFDB720497F587A7997538;

$Path=/CVP

Connection: close

Accept: text/vxml, text/x-vxml, application/vxml,

application/x-vxml,

application/voicexml, application/x-voicexml,

text/plain, tex

t/html, audio/basic, audio/wav, multipart/form-dat

ASR herkent het 4-cijferig getal

ASR stuurt een HERKENNINGSCP-bericht naar de IOS VXML-gateway.

MRCP/2.0 533

RECOGNITION-COMPLETE 21 COMPLETE

Channel-Identifier:

000023B846361276@speechrecog

Proxy-Sync-Id: 0B82553000000028

Completion-Cause: 000 success

Content-Type: application/nlsml+xml

Content-Length: 312

<?xml version="1.0" encoding="UTF-8"?>

<result grammar=

"session:field498@field.grammar">

<interpretation grammar=

"session:field498@field.grammar"

confidence="0.738968">

<instance>

1234

</instance>

<input mode="speech"

confidence="0.752155">

one two three four

</input>

</interpretation>

</result>

The final VXML document sent by the

VXML server contains just the

<exit\> tag in the <form>

This tells the Gateway to

terminate the VXML session

Het laatste VXML-document dat door de VXML-server wordt verzonden, bevat alleen de afnametabel in het formulier

Dit vertelt de Gateway om de VXML sessie te beëindigen

*Jan 18 03:36:07.159:

processing server rsp msg:

msg(67CA85F8)URL:

http://172.18.110.75:7000/CVP/Server, fd(3):

*Jan 18 03:36:07.159: Request msg:

POST /CVP/Server HTTP/1.1

*Jan 18 03:36:07.159:

Message Response Code: 200

*Jan 18 03:36:07.159:

Message Rsp Decoded Headers:

*Jan 18 03:36:07.159: D

ate:Mon, 30 Apr 2007 16:59:53 GMT

*Jan 18 03:36:07.159:

Content-Type:text/xml;charset=ISO-8859-1

*Jan 18 03:36:07.159: Connection:close

*Jan 18 03:36:07.159: Set-Cookie:

JSESSIONID=NULL;

Expires=Thu, 01-Jan-1970

00:00:10 GMT; Path=/CVP

*Jan 18 03:36:07.159: headers:

*Jan 18 03:36:07.159: HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Set-Cookie: JSESSIONID=NULL; Expires=Thu,

01-Jan-1970 00:00:10 GMT; Path=/CVP

Content-Type: text/xml;charset=ISO-8859-1

Date: Mon, 30 Apr 2007 16:59:53 GMT

Connection: close

*Jan 18 03:36:07.159: body:

*Jan 18 03:36:07.159: <?xml version="1.0"

encoding="UTF-8"?>

<vxml version="2.0" xml:lang="en-us">

<catch event="vxml.session.error">

<exit />

</catch>

<catch event="telephone.disconnect.hangup">

<exit />

</catch>

<catch event="telephone.disconnect">

<exit />

</catch>

<catch event="error.unsupported.object">

<exit />

</catch>

<catch event="error.unsupported.language">

<exit />

</catch>

<catch event="error.unsupported.format">

<exit />

</catch>

<catch event="error.unsupported.element">

<exit />

</catch>

<catch event="error.unsupported.builtin">

<exit />

</catch>

<catch event="error.unsupported">

<exit />

</catch>

<catch event="error.semantic">

<exit />

</catch>

<catch event="error.noresource">

<exit />

</catch>

<catch event="error.noauthorization">

<exit />

</catch>

<catch event="error.eventhandler.notfound">

<exit />

</catch>

<catch event="error.connection.noroute">

<exit />

</catch>

<catch event="error.connection.noresource">

<exit />

</catch>

<catch event="error.connection.nolicense">

<exit />

</catch>

<catch event="error.connection.noauthorization">

<exit />

</catch>

<catch event="error.connection.baddestination">

<exit />

</catch>

<catch event="error.condition.baddestination">

<exit />

</catch>

<catch event="error.com.cisco.

media.resource.unavailable">

<exit />

</catch>

<catch event=

"error.com.cisco.handoff.failure">

<exit />

</catch>

<catch event=

"error.com.cisco.callhandoff.failure">

<exit />

</catch>

<catch event=

"error.com.cisco.aaa.authorize.failure">

<exit />

</catch>

<catch event=

"error.com.cisco.aaa.authenticate.failure">

<exit />

</catch>

<catch event="error.badfetch.https">

<exit />

</catch>

<catch event="error.badfetch.http">

<exit />

</catch>

<catch event="error.badfetch">

<exit />

</catch>

<catch event="error">

<exit />

</catch>

<catch event="disconnect.com.cisco.handoff">

<exit />

</catch>

<catch event="connection.disconnect.hangup">

<exit />

</catch>

<catch event="connection.disconnect">

<exit />

</catch>

<form>

<block>

<exit />

</block>

</form>

</vxml>

Gateway Termineert de VXML-toepassing

*Jan 18 03:36:14.155:

//127/2AEE8C2A801C/VXML:/vxml_vapp_terminate:

vapp_status=0 ref_count 0

*Jan 18 03:36:14.155:

//127//AFW_:/vapp_terminate:

*Jan 18 03:36:14.155: //127//AFW_

:/vapp_session_exit_event_name:

Exit Event vxml.session.complete

*Jan 18 03:36:14.155:

//127//AFW_:/AFW_M_VxmlModule_Terminate:

*Jan 18 03:36:14.155:

//131/2AEE8C2A801C/CCAPI/ccCallDisconnect:

Cause Value=16, Tag=0x0, Call Entry

(Previous Disconnect Cause=0,

Disconnect Cause=0)

*Jan 18 03:36:14.155:

//131/2AEE8C2A801C/CCAPI/ccCallDisconnect:

Cause Value=16, Call Entry(Responsed=TRUE,

Cause Value=16)

Gateway sluit de SIP-sessie af die met de ASR-server is ingesteld

*Jan 18 03:36:14.159:

//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:

Sent:

BYE sip:172.18.110.76:5060 SIP/2.0

Via: SIP/2.0/UDP 14.1.16.25:

5060;branch=z9hG4bK971131

From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB

To: <sip:asr@172.18.110.76>;tag=a99d0500

Date: Fri, 18 Jan 2002 03:34:57 GMT

Call-ID: 2DCAF817-AFB11D6-80D5DC30-

3585E95A@14.1.16.25

User-Agent: Cisco-SIPGateway/IOS-12.x

Max-Forwards: 70

Timestamp: 1011324974

CSeq: 102 BYE

Reason: Q.850;cause=16

Content-Length: 0

*Jan 18 03:36:14.607:

//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:

Received:

SIP/2.0 200 OK

Via: SIP/2.0/UDP 14.1.16.25:

5060;branch=z9hG4bK971131

To: <sip:asr@172.18.110.76>;tag=a99d0500

From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB

Call-ID: 2DCAF817-AFB11D6-80D5DC30-

3585E95A@14.1.16.25

CSeq: 102 BYE

Contact: <sip:172.18.110.76:5060>

Content-Length: 0

Gateway sluit de SIP-sessie af die met de TTS-server is ingesteld

*Jan 18 03:36:14.159:

//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:

Sent:

BYE sip:172.18.110.76:5060 SIP/2.0

Via: SIP/2.0/UDP 14.1.16.25:5060;branch=z9hG4bK981487

From: <sip:5555@14.1.16.25>;tag=E54D43C-1EC4

To: <sip:tts@172.18.110.76>;tag=c1160600

Date: Fri, 18 Jan 2002 03:34:57 GMT

Call-ID: 2DCA5BEF-AFB11D6-

80D3DC30-3585E95A@14.1.16.25

User-Agent: Cisco-SIPGateway/IOS-12.x

Max-Forwards: 70

Timestamp: 1011324974

CSeq: 102 BYE

Reason: Q.850;cause=16

Content-Length: 0

*Jan 18 03:36:14.215:

//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:

Received:

SIP/2.0 200 OK

Via: SIP/2.0/UDP

14.1.16.25:5060;branch=z9hG4bK981487

To: <sip:tts@172.18.110.76>;tag=c1160600

From: <sip:5555@14.1.16.25>;tag=E54D43C-1EC4

Call-ID:

2DCA5BEF-AFB11D6-80D3DC30-3585E95A@14.1.16.25

CSeq: 102 BYE

Contact: <sip:172.18.110.76:5060>

Content-Length: 0

Gateway sluit de oproep aan de ISDN-zijde af

*Jan 18 03:36:14.611: ISDN Se3/0:23 Q931: TX ->

DISCONNECT pd = 8  callref = 0x805A

Cause i = 0x8090 - Normal call clearing

*Jan 18 03:36:14.623: ISDN Se3/0:23 Q931:

RX <- RELEASE pd = 8  callref = 0x005A

*Jan 18 03:36:14.623: ISDN Se3/0:23 Q931:

TX -> RELEASE_COMP pd = 8  callref = 0x805A

Gerelateerde informatie

- Ondersteuning voor spraaktechnologie

- Productondersteuning voor spraak en Unified Communications

- Probleemoplossing voor Cisco IP-telefonie

- Technische ondersteuning en documentatie – Cisco Systems