소개
이 문서에서는 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 UCCE(Unified Contact Center Enterprise)로 라우팅되고 통화가 AT&T 네트워크의 외부 번호로 다시 전송됩니다(Transfer connects service). 문제가 발생하면 AT&T에서 다음과 같은 프롬프트가 표시됩니다.
잠시 기다려 주십시오.
죄송합니다. 통화를 완료할 수 없습니다. 다시 걸어 보세요.
원인/문제 설명
CVP 종합 통화 흐름에서 통화는 CVP에서 수신되며, CVP는 DTM *8 레이블 뒤에 일시 중지된 500밀리초(MS) 및 1800개의 번호를 받습니다. CVP는 DTMF를 CUBE(Cisco 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 GW(Voice XML Gateway)로 전송합니다.
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) 출력(out)은 AT&T 네트워크로 DTMF를 펄스화합니다.
12단계. AT&T 네트워크가 DTMF**7 전화를 받지 않았거나 전화 건 번호를 인식할 수 없습니다. CVP가 DTMF **6을 전송하는 경우 고객이 기다린 후 기다려 주십시오.
다음을 확인합니다.
1단계. CVP 구성
구성 폴더 아래의 sip.properties 파일에서 SIP.ExternalTransferWait 기능을 추가하고 1000(1초)으로 설정해야 합니다. 이렇게 한 후 CVP 통화 서버를 다시 시작합니다.
2단계. CVP 통화 서버 로그
Select com.dynamicsoft.DsLibs.DsUALibs가 Debug level로 설정된 경우 CVP 추적을 수집합니다.
CVP 로그에서 CVP가 각 DTMF에 대해 CUBE(Ingress Gateway)에 SIP 정보 메시지를 전송하는지 확인합니다.
예를 들어, 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(Ingress Gateway Log)를 수집합니다.
ccsip 메시지 디버그
디버그 voip rtp 세션 이름 이벤트
PSTN(AT&T) 레그에서 협상된 DTMF 릴레이는 페이로드 유형 100을 사용하는 RTP-NTE입니다.
CVP 레그에서 협상된 DTMF 릴레이는 페이로드 유형 101을 사용하는 sip-info 및 rtp-nte입니다.
로그에서 CUBE(Ingress Gateway)가 SIP 정보 메시지를 사용하여 CVP의 모든 숫자를 수신한 다음 AT&T(PSTN)로 전송하는 것을 확인할 수 있습니다
예를 들어 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 - 11초입니다.)
패킷 캡처 분석
정상 통화에서는 CUBE가 마지막 숫자를 AT&T로 전송한 후 AT&T가 약 500MS에 DTMF "* 6"을 전송합니다
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 스크립트에서 변경됩니다.