Voix : Routage des appels/Plan de composition

Flux d'appels d'une passerelle XML voix IOS vers CVP à l'aide de MRCPv2 ASR / TTS

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Le langage XML de Voix (VXML) est une norme définie par World Wide Web Consortium (W3C). Il est conçu pour créer les dialogues sonores qui fournissent le discours synthétisé, reconnaissance des mots parlés, reconnaissance des chiffres DTMF, et l'audio parlé enregistré. Le serveur et les clients VXML emploient le protocole HTTP réputé pour permuter des documents/pages VXML.

Le port voix de Cisco (CVP) fournit les applications intelligentes et de la réponse vocale interactive (RVI) qui peuvent être accédées à au-dessus du téléphone. Il y a trois types de déploiements CVP :

  1. Service autonome

  2. Contrôle d'appel CVP

  3. File d'attente et transfert d'appel

Le discours synthétisé et la reconnaissance des fonctionnalités parlées de chiffres des mots/DTMF sont fournis par les serveurs de reconnaissance vocale texte-voix (TTS) et automatique (ASR). La passerelle du½ VXML du¿Â IOSï communique avec le serveur TTS/ASR par le protocole de contrôle des ressources média (MRCP). Il y a deux versions de MRCP (RFC 4463), à savoir MRCPv1 (MRCP au-dessus de RTSP) et MRCPv2 (MRCP au-dessus de SIP).

Ce document décrit l'écoulement d'appel d'une passerelle de la Voix XML IOS à l'appel CVP dans un déploiement autonome de service qui utilise des serveurs MRCPv2 TTS/ASR. Une application de pharmacie témoin a été déployée au serveur CVP VXML.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

  • Passerelle IOS VXML : Cisco AS5400XM, IOS 12.4(15)T1

  • Serveur VXML : CVP 4.0

  • Serveur ASR/TTS : Suite 7.0 de la parole de Loquendo

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Configurez

Cette section vous fournit des informations pour configurer les fonctionnalités décrites dans ce document.

Remarque: Utilisez l'outil Command Lookup Tool (clients enregistrés seulement) pour obtenir plus d'informations sur les commandes utilisées dans cette section.

Diagramme du réseau

Ce document utilise la configuration réseau suivante :

index-ios-1.gif

Configurations

Ce document utilise les configurations suivantes :

Configuration de passerelle VXML

!--- 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

Exemple d'écoulement d'appel

Cette section décrit l'écoulement d'appel ce des résultats de cet exemple de configuration.

  1. Un appel RNIS arrive à la passerelle PSTN/VXML à travers le T1 PRI 3/0.

  2. La passerelle IOS apparie l'homologue de numérotation POTS 1 en tant qu'homologue de numérotation en entrée pour cet appel.

  3. La passerelle IOS remet outre du Contrôle d'appel au service de pharmacie qui est le cadran-pair associé 1.

  4. Le script CVP VXML/TCL associé avec le service de pharmacie envoie une requête HTTP GET au serveur VXML.

  5. Le serveur VXML renvoie la réponse de 200 OKS. Cette réponse contient un document/page VXML.

  6. La passerelle IOS exécute le document VXML.

  7. Si le document VXML spécifie un URL pour une demande d'audio, la passerelle IOS télécharge le fichier audio et lit la demande.

  8. Si le document VXML spécifie un texte pour une demande d'audio, la passerelle IOS établit une session de SIP avec tts@172.18.110.76 (serveur TTS) utilisant le cadran-pair 5. Après que la session de SIP soit établie, elle ouvre une connexion TCP au serveur TTS utilisant le numéro indiqué de port TCP dans le SDP de la réponse de 200 OKS du SIP INVITE. Cette connexion TCP est utilisée pour permuter des messages MRCP comme PARLENT, SPEAK-COMPLETE entre la passerelle IOS et le serveur TTS.

    Le serveur TTS envoie le flux audio de RTP G.711ulaw à l'adresse IP et au numéro de port UDP fournis par la passerelle dans le SDP du SIP INVITE.

  9. Si le document VXML spécifie la passerelle pour identifier des chiffres DTMF et/ou des mots parlés, la passerelle IOS établit une session de SIP avec asr@172.18.110.76 (serveur ASR) avec le cadran-pair 6. Après que la session de SIP soit établie, elle ouvre une connexion TCP au serveur ASR utilisant le numéro indiqué de port TCP dans le SDP de la réponse de 200 OKS du SIP INVITE. Cette connexion TCP est utilisée pour permuter des messages MRCP comme DÉFINISSENT LA GRAMMAIRE, SE TERMINENT, LA RECONNAISSENT, et RECOGNITION-COMPLETE entre la passerelle IOS et le serveur ASR.

    La passerelle IOS VXML envoie le flux audio de RTP G.711ulaw à l'adresse IP et au numéro de port UDP fournis par l'ASR dans le SDP de la réponse d'OK du SIP 200. La passerelle IOS VXML envoie les chiffres écrits par l'utilisateur PSTN comme événements RTP-NTE au serveur ASR.

  10. Après l'exécution du document VXML, la passerelle envoie une demande de POST de HTTP (avec un ensemble de paramètres) comme spécifié dans la balise de <submit> du document/de page VXML.

  11. Étapes 6 ? 10 se produisent pour chaque document VXML envoyé par le serveur.

  12. Quand l'application VXML termine le service fourni à l'appelant, elle envoie un document VXML avec juste une balise <exit/> dans l'élément de <form>.

  13. La passerelle IOS déconnecte les sessions MRCPv2 établies avec les serveurs TTS et ASR.

  14. La passerelle IOS déconnecte le faire appel au côté RNIS.

Vérifiez

Référez-vous à cette section pour vous assurer du bon fonctionnement de votre configuration.

L'Outil Interpréteur de sortie (clients enregistrés uniquement) (OIT) prend en charge certaines commandes show. Utilisez l'OIT pour afficher une analyse de la sortie de la commande show .

  • Brief de show call active voice

    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
    
  • Brief de show call active media

    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
    
  • Détail de show mrcp client session active

    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 
    
  • Show voip rtp connections

    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
    
  • Show http client cache

    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                                                                                             
    

Dépannez

Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.

Commandes de débogage

Configurez la passerelle IOS pour se connecter met au point dans son tampon de journalisation et désactive le « logging console ».

Remarque: Référez-vous aux informations importantes sur les commandes de débogage avant d'utiliser les commandes de débogage.

Remarque: Ce sont les commandes utilisées pour configurer la passerelle afin d'enregistrer met au point dans le tampon de journalisation de la passerelle :

  • les horodateurs de service mettent au point la milliseconde date-heure

  • entretenez l'ordre

  • no logging console

  • le logging buffered 5000000 mettent au point

  • clear log

Ce qui suit sont les commandes de débogage utilisées pour dépanner la configuration :

  • debug isdn q931

  • debug voip ccapi inout

  • par défaut de debug voip application vxml

  • vidage mémoire de debug voip application vxml

  • mettez au point le message de ccsip

  • détail de debug mrcp

  • debug http client tout

  • nommer-événement de nte de session de debug voip rtp

Sorties de débogage

Cette section fournit des sorties de débogage pour cet écoulement d'appel d'échantillon :

  1. La passerelle reçoit un appel d'arrivée du PSTN.

  2. La passerelle apparie l'homologue de numérotation en entrée 1.

  3. L'appel est remis hors fonction au service de pharmacie.

  4. L'appel obtient connecté du côté RNIS.

  5. La passerelle commence l'exécution du script de VoiceXML CVPSelfServiceBootstrap.vxml.

  6. La passerelle envoie une requête HTTP GET au serveur VXML.

  7. La passerelle reçoit un message de 200 OKS du serveur VXML. Le corps du message de cette réponse contient le document VXML (1). Ce document VXML indique le jeu Welcome-1.wav appelé par fichier multimédia de passerelle situé dans un serveur multimédia.

  8. La passerelle envoie une requête HTTP GET au serveur multimédia de télécharger le fichier Welcome-1.wav.

  9. La passerelle reçoit un OK 200 du serveur multimédia et reçoit le contenu du Welcome-1.wav au corps du message de HTTP.

  10. La passerelle envoie une demande de HTTP de POST au serveur comme défini dans « soumettez » l'option du document VXML (1).

  11. La passerelle reçoit l'OK 200 pour sa demande de HTTP de POST. Le corps du message contient le document VXML (2). Ce document VXML indique la passerelle le lire « vous remercient d'appeler la pharmacie d'Audium. » Notez que cette demande doit être synthétisée par un serveur texte-voix.

  12. La passerelle envoie une demande de POST de HTTP comme définie dans l'option de soumission du document VXML (2).

  13. La passerelle reçoit une réponse de 200 OKS pour la demande de POST de HTTP. Le corps du message contient le document VXML (3). Ce document VXML définit des menus prompts qui indique l'appelant écrire 1 ou dire la recharge, 2 ou dire le pharmacien. Les demandes sont synthétisées par un serveur texte-voix. Les entrées (la parole/DTMF) sont identifiées utilisant un système de reconnaissance automatique de la parole.

  14. La passerelle crée les grammaires à utiliser pour DTMF/reconnaissance vocale. Ces grammaires sont alors envoyées au serveur ASR une fois que la passerelle établit une session avec le serveur ASR.

  15. La passerelle exécute une consultation de cadran-pair pour installer une session de SIP avec le serveur texte-voix. L'homologue de numérotation en sortie 6 est apparié.

  16. La passerelle envoie un SIP INVITE au serveur TTS. Le SDP du message d'INVITATION contient les informations de medias pour le flux audio et l'application MRCPv2 (canal de speechsynth).

  17. La passerelle exécute une consultation de cadran-pair pour installer une session de SIP avec le serveur automatique de reconnaissance vocale. L'homologue de numérotation en sortie 5 est apparié.

  18. Les passerelles envoie un SIP INVITE au serveur ASR. Le SDP contient les informations de medias pour le flux audio, le relais de DTMF et l'application MRCPv2 (canal de speechrecog).

  19. La passerelle reçoit une réponse de 200 OKS (pour le SIP INVITE) du serveur ASR. Le SDP du message de SIP INVITE spécifie ces derniers :

    • Les codecs G711ulaw, l'adresse IP, et les numéros de port de RTP pour le flux audio

    • L'attribut de direction de ce flot de RTP : « recvonly »

    • Le RTP-NTE a basé le relais de DTMF

    • Le nombre de port TCP (51001) à utiliser par la passerelle pour établir une session MRCPv2 avec le serveur ASR

  20. La passerelle envoie le SIP ACK au serveur ASR, et la session de SIP pour la reconnaissance vocale automatique obtient établi entre la passerelle et le serveur ASR.

  21. La passerelle envoie une demande MRCP « DEFINE-GRAMMER » au serveur ASR. (Juste une demande est affichée ici.)

  22. La passerelle reçoit une réponse 200 COMPLÈTE pour sa demande DEFINE-GRAMMAR.

  23. La passerelle reçoit une réponse de 200 OKS (pour le SIP INVITE) du serveur TTS. Le SDP du message de SIP INVITE spécifie ces derniers :

    • Les codecs G711ulaw, l'adresse IP et les numéros de port de RTP pour le flux audio

    • L'attribut de direction de ce flot de RTP : « sendonly »

    • Le RTP-NTE a basé le relais de DTMF

    • Le nombre de port TCP (51000) à utiliser par la passerelle pour établir une session MRCPv2 avec le serveur TTS

  24. La passerelle envoie le SIP ACK au serveur TTS, et la session de SIP pour le texte-voix obtient établi entre la passerelle et le serveur TTS.

  25. La passerelle envoie « IDENTIFIENT » la demande MRCP au serveur ASR de commencer la reconnaissance de DTMF/de mots parlés.

  26. Le serveur ASR envoie une réponse « EN COURS » (pour la demande RECOGNIZE) à la passerelle.

  27. La passerelle termine le téléchargement du fichier multimédia Welcome-1.wav, l'enregistre dans le cache, et lit la demande à l'appelant.

  28. La passerelle envoie « PARLENT » la demande MRCP au serveur TTS de lire « Remercier-Vous-pour-appeler » la demande.

  29. Le serveur TTS envoie une réponse « EN COURS » à la demande de PARLER.

  30. Le serveur TTS envoie un message « SPEAK-COMPLETE » après qu'il ait parlé « Remercier-vous-pour-appeler » la demande.

  31. La passerelle envoie « PARLENT » la demande MRCP au serveur TTS de lire la demande de « menu » (écrivez 1 ou dites que Refil/écrivent 2 ou dites le pharmacien). (Les sorties de débogage ne sont pas affichées.)

  32. Le serveur TTS envoie un message EN COURS, SPEAK-COMPLETE et des finitions lisant la demande. (Les sorties de débogage ne sont pas affichées.)

  33. L'appelant PSTN écrit « 1" pour choisir la recharge. La passerelle envoie ce chiffre comme événement RTP-NTE au serveur ASR.

  34. Le serveur ASR envoie un message « RECOGNITION-COMPLETE » à la passerelle pour informer la passerelle qu'elle a identifié un des événements demandés (dans ce cas chiffre 1).

  35. Après qu'il reçoive une notification réussie de reconnaissance du serveur ASR, la passerelle VXML envoie une demande de POST de HTTP comme spécifiée dans la balise de SOUMISSION du document VXML (3). Cette demande de POST informe le serveur VXML que le chiffre 1 a été écrit par l'appelant PSTN.

  36. Le serveur VXML envoie alors un autre document VXML qui demande à l'appelant d'écrire la prescription ici. (Les sorties de débogage ne sont pas affichées.)

  37. La passerelle envoie le message MRCP au TTS pour parler les demandes. (Les sorties de débogage ne sont pas affichées, mais elles sont semblables aux étapes 28-30.)

  38. La passerelle envoie le message MRCP à l'ASR pour détecter le nombre de prescription de 4 chiffres parlé par l'utilisateur. (Les sorties de débogage ne sont pas affichées, mais elles sont semblables aux étapes 25-26.)

  39. L'ASR identifie le nombre de prescription de 4 chiffres et envoie un message MRCP « RECOGNITION-COMPLETE » à la passerelle IOS VXML.

  40. La passerelle informe le nombre de prescription au serveur VXML en envoyant la demande de POST de HTTP. (Les sorties de débogage ne sont pas affichées, mais elles sont semblables à l'étape 35.)

  41. Le serveur VXML envoie des pages VXML pour collecter le temps d'intrcpt et pour informer l'appelant que la prescription sera prête pour l'intrcpt. La passerelle exécute ces pages par des interactions avec le serveur TTS et ASR. (Les sorties de débogage ne sont pas affichées.)

  42. Le document de la finale VXML envoyé par le serveur VXML contient juste le <exit \ > balise dans le <form>. Ceci indique la passerelle terminer la session VXML.

  43. La passerelle termine l'application VXML.

  44. La passerelle déconnecte la session de SIP établie avec le serveur ASR.

  45. La passerelle déconnecte la session de SIP établie avec le serveur TTS.

  46. La passerelle déconnecte le faire appel au côté RNIS.

Appel d'arrivée de 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

L'homologue de numérotation en entrée 1 est apparié

*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

L'appel est remis hors fonction au service de pharmacie

*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

L'appel obtient connecté du côté RNIS

*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:

La passerelle commence l'exécution du script de VoiceXML CVPSelfServiceBootstrap.vxml

 
*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

La passerelle envoie une requête HTTP GET au serveur VXML

*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

La passerelle reçoit un message de 200 OKS du serveur VXML

Le corps du message de cette réponse contient un document VXML (1). Le document VXML indique le jeu Welcome-1.wav appelé par fichier multimédia de passerelle situé dans un serveur multimédia.


*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>

La passerelle envoie une requête HTTP GET au serveur multimédia de télécharger le fichier Welcome-1.wav

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

La passerelle reçoit un OK 200 du serveur multimédia et reçoit le contenu du Welcome-1.wav au corps du message de HTTP

*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).

La passerelle envoie une demande de HTTP de POST au serveur comme défini dans « soumettez » l'option du document VXML (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

La passerelle reçoit un OK 200 pour sa demande de HTTP de POST

Le corps du message contient le document VXML (2). Le document VXML indique la passerelle le lire « vous remercient d'appeler la pharmacie d'Audium. » Notez que cette demande doit être synthétisée par un serveur texte-voix.

*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>

La passerelle envoie une demande de POST de HTTP comme définie dans l'option de soumission du document VXML (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

La passerelle reçoit une réponse de 200 OKS pour la demande de POST de HTTP

Le corps du message contient le document VXML (3). Ce document VXML définit des menus prompts qui indique l'appelant écrire 1 ou dire la recharge, ou pour écrire 2 ou dire le pharmacien. Les demandes sont synthétisées par un serveur texte-voix. Les entrées (la parole/DTMF) sont identifiées avec un système de reconnaissance automatique de la parole.

*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>

La passerelle crée les grammaires à utiliser pour DTMF/reconnaissance vocale

Ces grammaires sont alors envoyées au serveur ASR une fois que la passerelle établit une session avec le serveur ASR.

*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

La passerelle exécute une consultation de Cadran-pair pour installer une session de SIP avec le serveur texte-voix

L'homologue de numérotation en sortie 6 est apparié.

*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=)

 

La passerelle envoie un SIP INVITE au serveur TTS

Le SDP du message d'INVITATION contient les informations de medias pour le flux audio et l'application MRCPv2 (canal de speechsynth).

 

*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

La passerelle exécute une consultation de Cadran-pair pour installer une session de SIP avec le serveur ASR

L'homologue de numérotation en sortie 5 est apparié.

*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=)

Les passerelles envoie un SIP INVITE au serveur ASR

Le SDP contient les informations de medias pour le flux audio, relais de DTMF. et application MRCPv2 (canal de speechrecog).

*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

La passerelle reçoit une réponse de 200 OKS (pour le SIP INVITE) du serveur ASR

  1. Codecs G711ulaw, adresse IP et numéros de port de RTP pour le flux audio.

  2. L'attribut de direction de ce flot de RTP est « recvonly ».

  3. RTP-NTE a basé le relais de DTMF.

  4. Nombre de port TCP (51001) à utiliser par la passerelle pour établir une session MRCPv2 avec le serveur ASR.

*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

La passerelle envoie le SIP ACK au serveur ASR

La session de SIP pour l'ASR obtient établi entre la passerelle et le serveur ASR.

*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

La passerelle envoie la demande MRCP « DEFINE-GRAMMER » au serveur ASR

Juste une demande est affichée ici.

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>

La passerelle reçoit une réponse 200 COMPLÈTE pour sa demande DEFINE-GRAMMAR

*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

La passerelle reçoit une réponse de 200 OKS (pour le SIP INVITE) du serveur TTS

Le SDP du message de SIP INVITE spécifie ces derniers :

  1. Codecs G711ulaw, adresse IP et numéros de port de RTP pour le flux audio.

  2. L'attribut de direction de ce flot de RTP est « sendonly ».

  3. RTP-NTE a basé le relais de DTMF

  4. Nombre de port TCP (51000) à utiliser par la passerelle pour établir une session MRCPv2 avec le serveur TTS.

*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

La passerelle envoie le SIP ACK au serveur TTS

La session de SIP pour le texte-voix obtient établi entre la passerelle et le serveur TTS.

*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

La passerelle envoie « IDENTIFIENT » la demande MRCP au serveur ASR

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

Le serveur ASR envoie la réponse « EN COURS » (pour IDENTIFIEZ la demande) à la passerelle

MRCP/2.0 84 15 200 IN-PROGRESS

Channel-Identifier: 
   000023B846361276@speechrecog

La passerelle termine le téléchargement du fichier multimédia Welcome-1.wav

Il l'enregistre dans le cache et lit la demande à l'appelant.

*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: 

La passerelle envoie « PARLENT » la demande MRCP au serveur TTS de lire la demande de merci

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>

Le serveur TTS envoie la réponse « EN COURS " pour la demande de PARLER

MRCP/2.0 83 1 200 IN-PROGRESS

Channel-Identifier: 
   000023EC46361276@speechsynth

Le serveur TTS envoie le message « SPEAK-COMPLETE » après qu'il ait parlé la demande de merci

MRCP/2.0 141 SPEAK-COMPLETE 1 COMPLETE

Channel-Identifier: 
   000023EC46361276@speechsynth

Completion-Cause: 000 normal

Speech-Marker: ""

L'appelant PSTN écrit « 1" pour choisir la recharge

La passerelle envoie ce chiffre comme événement RTP-NTE au serveur ASR.

*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>>>

Le serveur ASR envoie un message « RECOGNITION-COMPLETE » à la passerelle

Ceci informe la passerelle qu'il a identifié un des événements demandés (dans ce cas chiffre 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>

La passerelle VXML reçoit une notification réussie de reconnaissance du serveur ASR

Après la réception de cette notification, la passerelle VXML envoie une demande de POST de HTTP comme spécifiée dans la balise de SOUMISSION du document VXML (3). Cette demande de POST informe le serveur VXML que le chiffre 1 a été écrit par l'appelant PSTN.

*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

L'ASR identifie le nombre à 4 chiffres de prescription

L'ASR envoie un message RECOGNITION-COMPLETE MRCP à la passerelle IOS VXML.

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

Le dernier document VXML envoyé par le serveur VXML contient juste la balise de sortie sous la forme

Ceci indique la passerelle terminer la session VXML

*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>

La passerelle termine l'application VXML

*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)

La passerelle déconnecte la session de SIP établie avec le serveur ASR

*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

La passerelle déconnecte la session de SIP établie avec le serveur TTS

*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

La passerelle déconnecte le faire appel au côté RNIS

*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

Informations connexes


Document ID: 98582