소개
이 문서에서는 E911 Jabber 구축과 함께 소프트폰에서 911 또는 긴급 번호로 전화를 걸 때 Jabber가 작동하는 방식에 대한 추적 분석에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco에서는 다음 사항에 대해 알고 있는 것이 좋습니다.
- Cisco Unified Communications Manager 컨피그레이션.
- SIP 프로토콜 기본 사항.
- CUCM의 기본 통화 라우팅
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스에서 생성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
구성
E911 번호의 기본 컨피그레이션
RWEC(Remote Worker Emergency Calling) 기능을 사용하면 원격 VPN(Virtual Private Network) 연결을 통해 원격 근무자에게 안정적인 긴급 통화 지원을 제공할 수 있습니다. 오프프레미스 사용자의 긴급 통화는 PSAP(Public Safety Answering Point)로 라우팅되며 각 통화에 대해 사용자 제공 위치 정보가 전달됩니다.
RWEC 기능을 구성하기 전에 Cisco Emergency Responder에서 Intrado(서드파티 애플리케이션)를 구성해야 합니다. Cisco Emergency Responder에서 Intrado를 구성하는 방법에 대한 자세한 내용은 Cisco Emergency Responder Administration Guide를 참조하십시오.
1단계. 사용자를 원격 작업자로 구성합니다.
- Cisco Unified CM Administration(Cisco Unified CM 관리) > Device(디바이스) > Phone(전화기)으로 이동합니다.
- 적절한 검색 기준을 입력하여 전화기를 찾은 다음 Find(찾기)를 클릭합니다. 검색 기준과 일치하는 전화기 목록이 표시됩니다.
- RWEC를 구성하려는 전화기를 선택합니다. Phone Configuration(전화기 컨피그레이션) 창이 표시됩니다.
- Device Information(디바이스 정보) 섹션의 Owner User ID 드롭다운 목록에서 적절한 사용자 ID를 선택하고 Require off-premise location(오프프레미스 위치 필요) 확인란을 선택합니다.
- 저장을 클릭합니다.
2단계. 긴급 통화의 대체 경로 지정
- Cisco Unified CM Administration(Cisco Unified CM 관리) > System(시스템) > Service Parameters(서비스 매개변수)로 이동합니다.
- Server(서버) 드롭다운 목록에서 서버를 선택합니다.
- Service(서비스) 드롭다운 목록에서 Cisco CallManager를 선택합니다. 서비스 매개변수 컨피그레이션 창이 나타납니다.
- Clusterwide Parameters (Emergency Calling for Required Off-premise Location)(클러스터 수준 매개변수(필요한 오프프레미스 위치에 대한 긴급 통화) 섹션에서 Alternate Destination for Emergency Call(긴급 통화의 대체 대상)을 지정합니다.
- 긴급 통화에 대한 대체 통화 검색 공간을 지정합니다.
- 저장을 클릭합니다.
3단계. 애플리케이션 서버 구성
참고: E911 프록시가 Cisco Emergency Responder와 통신할 수 있도록 애플리케이션 서버를 구성해야 합니다. E911 프록시는 사용자가 디바이스의 위치를 입력하는 애플리케이션 서버로 사용자를 유도하는 데 사용됩니다.
- Cisco Unified CM Administration(Cisco Unified CM 관리) > System(시스템) > Application Server(애플리케이션 서버)로 이동합니다.
- Add New(새로 추가)를 클릭합니다. Application Server 창이 나타납니다.
- Application Server Type(애플리케이션 서버 유형) 드롭다운 목록에서 CER Location Management(CER 위치 관리)를 선택합니다.
- Next(다음)를 클릭합니다.
- Name 필드에 구성할 애플리케이션 서버를 식별할 이름을 지정합니다.
- IP address 필드에 구성할 서버의 IP 주소를 지정합니다.
- Available Application Users(사용 가능한 애플리케이션 사용자) 목록에서 애플리케이션 사용자를 선택하고 아래쪽 화살표를 클릭합니다.
- End User URL(최종 사용자 URL) 필드에 이 애플리케이션 서버와 연결된 최종 사용자의 URL을 입력합니다.
- 저장을 클릭합니다.
4단계. E911 메시지 구성
- Cisco Unified CM Administration(Cisco Unified CM 관리) > System(시스템) > E911 Messages(E911 메시지)로 이동합니다.
- E911 메시지의 필수 언어 링크를 선택합니다. E911 Messages Configuration(E911 메시지 컨피그레이션) 페이지에는 계약, 면책조항 및 오류 메시지가 표시됩니다.
- (선택 사항) 오프프레미스 디바이스에 표시할 E911 메시지를 편집합니다.
- 저장을 클릭합니다.
구축
내부에서 Jabber를 사용하는 경우 다이얼 플랜 또는 Cisco CER(Emergency Responder)를 통해 물리적 전화기와 동일하게 정의할 수 있습니다.
원격 환경에서 사용하는 경우 몇 가지 방법으로 해결할 수 있으며, Windows/MAC용 Jabber 및 iPhone 및 Android용 Jabber와 다릅니다.
Windows 및 MAC 원격 사용자의 경우 CER에는 사용자가 수동으로 E911 위치를 업데이트할 수 있는 모빌리티 페이지가 있습니다. 예를 들어, 재택 근무를 하는 경우 DN(디렉터리 번호)에 대한 ERL(긴급 응답 회선)로 홈 주소를 입력할 수 있지만 사무실로 돌아가거나 다른 위치로 이동할 때 이를 변경해야 합니다.
모바일 디바이스의 경우 기본값은 911 번호로 전화를 걸 때 Jabber가 셀룰러 네트워크와 번호를 사용하도록 하는 것입니다. 그러면 전화기 위치가 PSAP(Public Safety Answering Point)에 수신되는 것이며 발신자의 위치를 식별하고 필요한 경우 전화를 다시 걸 수 있습니다.
또한, 시스템은 장비 이동 및 변경 사항을 자동으로 추적하고 업데이트합니다. 이 기능을 구축하면 법적 또는 규제 의무 준수를 보다 효과적으로 보장하고 긴급 통화와 관련된 책임 위험을 줄일 수 있습니다.
참고: Redsky와 같은 많은 E911 서비스 제공자도 CER과 유사한 모빌리티 서비스를 제공합니다.
Jabber 컨피그레이션 가이드에서 다음 설명을 확인할 수 있습니다.
다음을 확인합니다.
설정이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오.
로그 분석
Jabber Problem Report(Jabber 문제 보고서)에서 E911 긴급 번호의 기본 맵 동작을 확인할 수 있습니다. 숫자 분석 및 통화 프로세스는 다음과 같습니다.
2021-09-14 14:53:26,773 DEBUG [0x0000000107573880] [nyservice/TelephonyAdapterVoice.cpp(317)]
[jcf.tel.adapter] [applyDirectoryLookupRules] - Number BEFORE applying directory lookup rules: [9911]
2021-09-14 14:53:26,773 DEBUG [0x0000000107573880] [ory/ContactResolutionFeatureSet.cpp(424)]
[ContactService-ContactsAdapter] [resolveBySipUriOrNumber] - sip uri=, number=9911, display name=9911
2021-09-14 14:53:37,252 DEBUG [0x0000000107573880] [pl/CommunicationHistoryItemImpl.cpp(151)]
[CommunicationHistoryService-CommunicationHistoryAdapter] [CommunicationHistoryItemImpl]
- New item contains: jid = dialedNumber = 9911 displayName = 9911 contact picked from phone number
두 개의 Jabber 문제 보고서가 수집되었습니다. 하나는 GSM 네트워크를 통해, 다른 하나는 SIP 트렁크를 통해 CUCM으로 전송됩니다. 둘 다 비교되었습니다.
2021-09-29 12:38:53,644 INFO [0x000000010b6db880] [ager/TelephonyConfigManagerImpl.cpp(561)] [jcf.tel.config]
[setUptheConfigListeners] - Config notifier added for Value property Key: [E911NotificationUrl]
2021-09-29 12:38:53,644 DEBUG [0x000000010b6db880] [ager/TelephonyConfigManagerImpl.cpp(675)] [jcf.tel.config]
[cacheAllConfigFromService] - Config not found for Key: [E911NotificationUrl]. Using default value: []
2021-09-29 12:38:53,646 INFO [0x000000010b6db880] [ager/TelephonyConfigManagerImpl.cpp(561)] [jcf.tel.config]
[setUptheConfigListeners] - Config notifier added for Value property Key: [EnableE911OnPremLocationPolicy]
2021-09-29 12:38:53,646 INFO [0x000000010b6db880] [ager/TelephonyConfigManagerImpl.cpp(568)] [jcf.tel.config]
[setUptheConfigListeners] - Config notifier added for isDefined property for key:
[EnableE911OnPremLocationPolicy]
2021-09-29 12:38:53,646 INFO [0x000000010b6db880] [ager/TelephonyConfigManagerImpl.cpp(561)] [jcf.tel.config]
[setUptheConfigListeners] - Config notifier added for Value property Key: [EnableE911EdgeLocationPolicy]
2021-09-29 12:38:53,646 INFO [0x000000010b6db880] [ager/TelephonyConfigManagerImpl.cpp(568)] [jcf.tel.config]
[setUptheConfigListeners] - Config notifier added for isDefined property for key: [EnableE911EdgeLocationPolicy]
2021-09-29 12:38:53,646 INFO [0x000000010b6db880] [ager/TelephonyConfigManagerImpl.cpp(561)] [jcf.tel.config]
[setUptheConfigListeners] - Config notifier added for Value property Key: [E911EdgeLocationWhiteList]
2021-09-29 12:38:53,646 INFO [0x000000010b6db880] [ager/TelephonyConfigManagerImpl.cpp(568)] [jcf.tel.config]
[setUptheConfigListeners] - Config notifier added for isDefined property for key:
2021-09-29 12:38:53,688 DEBUG [0x000000010b6db880] [nyservice/TelephonyAdapterVoice.cpp(317)] [jcf.tel.adapter]
[applyDirectoryLookupRules] - Number BEFORE applying directory lookup rules: [9911]
2021-09-29 12:38:53,688 DEBUG [0x000000010b6db880] [nyservice/TelephonyAdapterVoice.cpp(321)] [jcf.tel.adapter]
[applyDirectoryLookupRules] - Number AFTER applying directory lookup rules: [9911]
이러한 정책 컨피그레이션은 911이 Jabber에서 다이얼되며 기본 동작으로 작동함을 식별합니다.
CUCM의 TCT 또는 BOT 디바이스로 이동하면 이 동작을 식별할 수 있습니다. 여기서 Product Specific Configuration Layout(제품별 컨피그레이션 레이아웃) 섹션에서 Emergency Numbers(긴급 번호) 필드를 찾을 수 있습니다. 을 누르면 ? 섹션 헤더 옆에 있는 온라인 도움말 페이지로 이동합니다. 이 페이지에서는 작동 방식에 대한 명확한 설명을 찾을 수 있습니다.
긴급 번호:
','로 구분된 긴급 번호 목록(예: 911). 이러한 번호는 소프트폰이 아닌 GSM을 통해 전화를 겁니다.
기본값: 999,911,112
최대 길이: 32인치
컨피그레이션 경로의 이미지:
이 시나리오에서는 적절한 통화 라우팅을 수행하기 위해 CER로 리디렉션되므로 SIP 통화 처리에 대해서는 다루지 않습니다.
참고: 기능 컨피그레이션 가이드에 따라 CUCM의 긴급 번호로 인식될 911을 제거할 수도 있습니다. Jabber 긴급 번호가 통화 처리기에서 제거되면 통화 처리가 일반 통화처럼 수행됩니다.
통화가 CER 및 PSAP로 라우팅되는 이 시나리오에서 통화 처리는 일반 SIP 통화와 같은 통화를 시작하기 위한 INVITE를 생성해야 합니다.
SIP INVITE가 생성되고 이 번호는 "911"로 표시되며 SIP 트렁크를 통해 라우팅됩니다.
2021-09-29 13:11:30,890 DEBUG [0x00000001705f7000] [/sipcc/core/sipstack/ccsip_debug.c(1735)]
[csf.sip-call-control] [platform_print_sip_msg] - sipio-sent--->
INVITE sip:911@daviher2.domain.com;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.1.10.15:50748;branch=z9hG4bK0f77f9f5
From: "Edward Blake 5518" sip:5518@ daviher2.domain.com ;tag=5e2487c68e45000957e9a9ab-2d8246a4
To: sip:911@ daviher2.domain.com Call-ID: 5e2487c6-8e450004-07c6c702-0b33584b@10.1.10.15Max-Forwards: 70
Session-ID: 726dd14700105000a0005e2487c68e45;remote=00000000000000000000000000000000
Date: Wed, 29 Sep 2021 17:11:30 GMT
CSeq: 101 INVITE
User-Agent: Cisco-TCT
Contact: sip:e1a29201-56bf-2042-32c5-75b15ba90785@10.1.10.15:50748;transport=tcp;+u.sip!devicename.ccm.cisco.com=
"TCTEDWBLK";video;bfcp
Expires: 180
Accept: application/sdp
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO
Remote-Party-ID: "Edward Blake 5518" sip:5518@daviher2.domain.com ;party=calling;id-type=subscriber;privacy=off;screen=yes
Call-Info: <urn:x-cisco-remotecc:callinfo>; security=NotAuthenticated; orientation=to; call-instance=1; isVoip
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,
X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,
X-cisco-xsi-8.5.1
Allow-Events: kpml,dialog
Recv-Info: conference
Recv-Info: x-cisco-conference
Content-Length: 2730
Content-Type: application/sdp
Content-Disposition: session;handling=optional
CUCM 서버에서 SIP TRYING은 원격 디바이스에 연결하여 SIP 호출을 설정했음을 의미합니다.
2021-09-29 13:11:30,953 DEBUG [0x00000001705f7000] [/sipcc/core/sipstack/ccsip_debug.c(1735)]
[csf.sip-call-control] [platform_print_sip_msg] - sipio-recv<--- SIP/2.0 100 Trying
Via: SIP/2.0/TCP 10.1.10.24:50748;branch=z9hG4bK0f77f9f5
From: "Edward Blake 5518" sip:5518@ daviher2.domain.com >;tag=5e2487c68e45000957e9a9ab-2d8246a4
To: sip:911@ daviher2.domain.com Date: Wed, 29 Sep 2021 17:11:30 GMT
Call-ID: 5e2487c6-8e450004-07c6c702-0b33584b@10.1.10.24
CSeq: 101 INVITE
Allow-Events: presence
Content-Length: 0
SIP 180 벨소리 울림은 초기 SIP 통화 협상이 발생했으며 원격 디바이스에 알림이 제공되었음을 나타냅니다.
[SIP][MSG] [SOCK][.]<--- SIP/2.0 180 Ringing
2021-09-29 13:11:38,824 DEBUG [0x00000001705f7000] [/sipcc/core/sipstack/ccsip_debug.c(1735)]
[csf.sip-call-control] [platform_print_sip_msg] - sipio-recv<--- SIP/2.0 180 Ringing
Via: SIP/2.0/TCP 10.1.10.24:50748;branch=z9hG4bK0f77f9f5
From: "Edward Blake 5518" sip:5518@ daviher2.domain.com >;tag=5e2487c68e45000957e9a9ab-2d8246a4
To: < To: sip:911@ daviher2.domain.com >;tag=331350799~1551199b-213c-4609-83c4-4420b55caf48-39377222
Date: Wed, 29 Sep 2021 17:11:30 GMT
Call-ID: 5e2487c6-8e450004-07c6c702-0b33584b@10.1.10.24
CSeq: 101 INVITE
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
Allow-Events: presence
Server: Cisco-CUCM12.5
Call-Info: <urn:x-cisco-remotecc:callinfo>; security= Unknown; orientation= to; ui-state= ringout;
gci= 2-11891177; isVoip; call-instance= 1
Send-Info: conference, x-cisco-conference
Session-ID: 00000000000000000000000000000000;remote=726dd14700105000a0005e2487c68e45
Remote-Party-ID: <sip:919082059688@10.1.10.11>;party=called;screen=no;privacy=off
Contact: <sip:911@10.1.10.11:5060;transport=tcp>
Content-Length: 0
SIP 200 OK가 수신되어 통화를 완료하고 어떤 코덱이 협상되었는지를 알립니다.
2021-09-29 13:11:47,577 DEBUG [0x00000001705f7000] [/sipcc/core/sipstack/ccsip_debug.c(1735)]
[csf.sip-call-control] [platform_print_sip_msg] - sipio-recv<--- SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.1.10.24:50748;branch=z9hG4bK0f77f9f5
From: "Edward Blake 5518" sip:5518@ daviher2.domain.com >;tag=5e2487c68e45000957e9a9ab-2d8246a4
To: < To: sip:911@ daviher2.domain.com >;tag=331350799~1551199b-213c-4609-83c4-4420b55caf48-39377222
Date: Wed, 29 Sep 2021 17:11:30 GMT
Call-ID: 5e2487c6-8e450004-07c6c702-0b33584b@10.1.10.24
CSeq: 101 INVITE
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
Allow-Events: presence
Supported: replaces
Server: Cisco-CUCM12.5
Call-Info: <urn:x-cisco-remotecc:callinfo>; security= NotAuthenticated; orientation= to; gci= 2-11891177;
isVoip; call-instance= 1
Send-Info: conference, x-cisco-conference
Session-ID: 42582595f8ee52f7a033f11b6679f7ed;remote=726dd14700105000a0005e2487c68e45
Remote-Party-ID: <sip:9082059688@10.1.10.11>;party=called;screen=yes;privacy=off
Contact: <sip:911@10.1.10.11:5060;transport=tcp>
Content-Type: application/sdp
Content-Length: 733
v=0
o=CiscoSystemsCCM-SIP 331350799 1 IN IP4 10.1.10.11
s=SIP Call
c=IN IP4 172.22.191.3
b=AS:80
t=0 0
m=audio 18594 RTP/AVP 0 101
a=ptime:20
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=trafficclass:conversational.audio.aq:admitted
m=video 0 RTP/AVP 31 34 96 97
a=rtpmap:31 H261/90000
a=rtpmap:34 H263/90000
a=rtpmap:96 H263-1998/90000
a=rtpmap:97 H264/90000
a=content:main
a=inactive
m=video 0 RTP/AVP 31 34 96 97
a=rtpmap:31 H261/90000
a=rtpmap:34 H263/90000
a=rtpmap:96 H263-1998/90000
a=rtpmap:97 H264/90000
a=content:slides
a=inactive
m=application 0 UDP/BFCP *
c=IN IP4 0.0.0.0
m=application 0 RTP/AVP 96
a=rtpmap:96 H224/0
a=inactive
m=application 0 UDP/UDT/IX
마지막으로, Jabber 디바이스는 SIP ACK를 서버에 전송합니다. 그러면 통화가 성공적으로 완료되었음을 알 수 있습니다.
2021-09-29 13:11:47,591 DEBUG [0x00000001705f7000] [/sipcc/core/sipstack/ccsip_debug.c(1735)]
[csf.sip-call-control] [platform_print_sip_msg] - sipio-sent--->
ACK sip:911@10.1.10.11:5060;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 10.1.10.24:50748;branch=z9hG4bK0dbb4bc2
From: "Edward Blake 5518" sip:5518@ daviher2.domain.com >;tag=5e2487c68e45000957e9a9ab-2d8246a4
To: < To: sip:911@ daviher2.domain.com >;tag=331350799~1551199b-213c-4609-83c4-4420b55caf48-39377222
Call-ID: 5e2487c6-8e450004-07c6c702-0b33584b@10.1.10.24
Max-Forwards: 70
Session-ID: 726dd14700105000a0005e2487c68e45;remote=42582595f8ee52f7a033f11b6679f7ed
Date: Wed, 29 Sep 2021 17:11:47 GMT
CSeq: 101 ACK
User-Agent: Cisco-TCT
Remote-Party-ID: "Edward Blake 5518" sip:5518@ daviher2.domain.com >;party=calling;id-type=subscriber;
privacy=off;screen=yes
Recv-Info: conference
Recv-Info: x-cisco-conference
Content-Length: 0
이 절차에서는 통화가 CUCM에 등록된 SIP 트렁크를 통해 진행됩니다.
참고: 911 또는 기타 긴급 번호를 비긴급 번호로 인식하도록 제거할 수 있는 옵션이 있다는 점을 언급하는 것이 중요합니다. 이 시나리오에서는 이 최신 로그 분석에 설명된 대로 통화가 라우팅될 수 있습니다.
문제 해결
현재 이 설정에 사용할 수 있는 특정 문제 해결 정보가 없습니다.