소개
이 문서에서는 AT&T(DTMF *8)의 전송 연결 기능과 함께 CVP 포괄적 통화 흐름을 사용할 때 발생하는 문제에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- CVP 버전 8.5
- ICM(Intelligent Contact Manager)
- AT&T 전송 연결 서비스
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- ICM 8.5
- CVP 8.5
- CUBE 버전 151-3.T4
- AT&T 전송 연결
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
증상
전화를 걸면 통화가 CVP를 통해 Cisco Unified Contact Center Enterprise(UCCE)로 라우팅되고 통화가 AT&T 네트워크의 외부 번호로 다시 전송됩니다(호전환 연결 서비스). 문제가 발생하면 AT&T에서 다음 프롬프트가 표시됩니다.
잠시 기다려 주십시오.
죄송합니다. 통화를 완료할 수 없습니다.다시 전화 걸기
원인/문제 설명
CVP의 포괄적 통화 흐름에서 CVP에 통화가 수신되고 CVP는 DTM *8 레이블, 500밀리초(MS)가 일시 중지되고 1800개의 번호가 표시됩니다.CVP는 DTMF를 Cisco CUBE(Unified Border Element)로 전송하고 게이트웨이가 AT&T 네트워크에 번호를 펄스 아웃합니다.그러나 통화가 전송되지 않고 고객이 전화를 완료할 수 없다는 메시지를 수신합니다.다시 전화 주십시오.
1단계. 발신자가 PSTN(Public Switched Telephone Network)에서 전화를 겁니다.
2단계. IGW(Ingress Gateway)가 PSTN으로부터 통화를 수신합니다. 이 경우 CUBE는 인그레스 게이트웨이입니다.
3단계. IGW는 SIP 프록시 서버를 통해 CVP에 SIP INVITE 메시지를 보냅니다.
4단계. CVP가 ICM에 새 통화 요청을 보냅니다.
5단계. ICM은 라우팅 스크립트를 실행하고 CVP에 VRU(Voice Response Unit) 레이블을 전송합니다.
6단계. CVP는 SIP 프록시 서버를 통해 SIP INVITE 메시지를 VXML 게이트웨이(VXML GW)로 전송합니다.
7단계. VXML GW는 부트스트랩 스크립트를 실행하고 CVP에 HTTP 요청을 보냅니다.
8단계. CVP는 ICM에 요청 지침을 보냅니다.
9단계. ICM이 VRU 레그를 취소하고 DTMF 레이블을 CVP에 보냅니다.CVP는 VXML GW를 사용하여 VRU 레그를 종료합니다.
10단계. CVP는 DTMF를 IGW(CUBE)로 보냅니다.
11단계. IGW(CUBE)에서 DTMF를 AT&T 네트워크에 펄스합니다.
12단계. AT&T 네트워크에서 DTMF **7 네트워크가 전화 건 번호를 수신하지 못했거나 인식할 수 없습니다.적절한 경우 CVP가 DTMF **6을 전송하고 고객이 듣는 내용은 잠시 기다려 주십시오.
다음을 확인합니다.
1단계. CVP 구성.
configuration 폴더의 sip.properties 파일에서 SIP.ExternalTransferWait 기능을 추가하고 1000(1초)으로 설정해야 합니다. 이렇게 다시 시작하면 CVP 통화 서버가 다시 시작됩니다.
2단계. CVP 통화 서버 로그
Select com.dynamicsoft.DsLibs.DsUALibs를 디버그 수준으로 설정하여 CVP 추적을 수집합니다.
CVP 로그에서 CVP가 각 DTMF에 대해 SIP 정보 메시지를 CUBE(Ingress gateway)로 전송하는지 확인합니다.
예를 들어, CVP에서 IGW(CUBE)로 보낸 "*" 신호음이 있습니다.
264788: 10.1.1.1: Nov 25 2013 12:28:25.362 -0800: %CVP_8_5_SIP-7-CALL: {Thrd=pool-1-thread-197-SIP-61173} 409D1D04-4D6B11E3-8E94E199-7280FCFD: Starting an external transfer with label: DTMF*8,,,,,18YYNXXXXXX
2059160: 10.1.1.1: Nov 25 2013 12:28:25.362 -0800: %_Connection-7-com.dynamicsoft.DsLibs.DsUALibs.DsSipLlApi.Connection: Sending Message (NB): INFO sip:5123809981@10.1.2.2:5060 SIP/2.0
Via: SIP/2.0/TCP 10.1.1.1:5060;branch=z9hG4bKa74MS0n9A4oRWinVIAjXSA~~47394
Max-Forwards: 70
To: <sip:5123809981@10.1.2.2>;tag=658DC428-11DA
From: <sip:5008007435000@10.1.1.11>;tag=dsefb53fdb
Call-ID: 409D1D04-4D6B11E3-8E94E199-7280FCFD@10.1.2.2
CSeq: 1 INFO
Content-Length: 26
Contact: <sip:10.1.1.1:5060;transport=udp>
Content-Type: application/dtmf-relay
Signal=*
Duration=100
3단계. CUBE(인그레스 게이트웨이 로그)를 수집합니다.
디버그 ccsip 메시지
디버그 voip rtp 세션 이름 이벤트
PSTN(AT&T) 레그에서 협상된 DTMF 릴레이는 페이로드 유형 100을 사용하는 RTP-NTE입니다.
CVP 레그에서 협상된 DTMF 릴레이는 sip-info 및 rtp-nte이며 페이로드 유형 101을 사용합니다.
로그에서 CUBE(Ingress gateway)가 SIP 정보 메시지를 사용하여 CVP로부터 모든 숫자를 수신하여 PSTN(AT&T)에 전송하는 것을 볼 수 있습니다
예를 들어 PSTN/AT&T 네트워크에 숫자 7을 보내는 CUBE
289591: Nov 15 22:20:52.244: s=DSP d=VoIP payload 0x64 ssrc 0x149A460E sequence 0xBD4 timestamp 0x2B700
289592: Nov 15 22:20:52.244: Pt:100 Evt:7 Pkt:0A 00 00 <Snd>>>
289593: Nov 15 22:20:52.244: s=DSP d=VoIP payload 0x64 ssrc 0x149A460E sequence 0xBD5 timestamp 0x2B700
289594: Nov 15 22:20:52.244: Pt:100 Evt:7 Pkt:0A 00 00 <Snd>>>
289595: Nov 15 22:20:52.244: s=DSP d=VoIP payload 0x64 ssrc 0x149A460E sequence 0xBD6 timestamp 0x2B700
4단계. 게이트웨이에서 패킷 캡처를 수집하고 AT&T 요구 사항을 확인합니다.
요건:
숫자 간 시간 초과 = 3초
네트워크에 대한 DTMF 시그널링의 경우, 리디렉션 당사자의 VRU(이 경우 CVP 및 CUBE)는 최소 80ms의 숫자 지속 시간과 80ms의 숫자 간 무음을 가진 DTMF 신호음을 전송해야 합니다.
*T와 리디렉션 번호 또는 SD 코드 사이에 최소 350ms의 일시 중지를 적용해야 합니다.(하한과 상한은 300ms - 11sec입니다.)
패킷 캡처 분석
좋은 생각이지만 CUBE가 마지막 숫자를 AT&T로 전송하면 AT&T는 DTMF "* 6"(약 500MS)를 전송합니다.
AT&T로 전송된 숫자 사이의 시간 = 200MS
DTMF *8의 시간이 전송되고 첫 번째 숫자는 400MS입니다.
이벤트 기간 - 숫자 길이 = 100MS
잘못된 통화:
AT&T는 마지막 숫자를 받은 후 6초 후 DTMF **7을 보냅니다.
AT&T로 전송된 숫자 사이의 시간 = 200MS
DTMF *8의 시간이 전송되고 첫 번째 숫자는 400MS입니다.
이벤트 기간 - 숫자 길이 = 100MS
패킷 캡처에서 정상 통화와 잘못된 통화 간에는 차이가 없습니다.
해결
정상 통화 및 잘못된 통화를 위해 AT&T로 보낸 DTMF는 동일한 속성과 타이머를 가지지만 일부 시나리오에서는 DTMF가 인식되지 않으므로 특정 숫자 그룹 앞에 일시 중지를 추가하는 테스트가 수행되며 문제를 해결하는 조합은 다음과 같습니다: DTMF*8,,,,,,,,,1,,,8YY,,,NXX,,XXXX,,,,,,," 이는 ICM 스크립트에서 변경됩니다.