기능 동기화 기능은 주로 전화기 상태를 서버 상태와 일치시키기 위해 사용됩니다. 두 가지 주요 동기화 방식이 존재합니다. 하나는 구독/알림 메커니즘 기반 방식이며, 다른 하나는 기능 코드를 활용한 INVITE 호출을 통해 구현됩니다.
본 기능은 당사의 모든 전화기 모델에 적용됩니다.
본 문서는 전화기 관련 장애를 처리하는 정기 유지보수 인력을 대상으로 작성되었습니다.
먼저 전화기에서 기능 동기화 기능을 활성화해야 합니다. 기본적으로 해당 기능은 비활성화되어 있으며, 모든 기능은 기기 내에서 로컬로 실행됩니다.
웹 설정 항목:
--SIP 회선 목록-- :
SIP1 기능 동기화 :0
BroadSoft와 Metaswitch는 모두 구독/알림 메커니즘을 통해 동기화를 수행합니다. 기능 동기화 활성화 후, 전화기는 등록 과정에서 Event: as-feature-event 값이 포함된 SUBSCRIBE 메시지를 서버로 전송합니다. 서버가 해당 기능을 지원할 경우 200 OK로 응답한 후 현재 상태를 동기화합니다. 자세한 내용은 아래 이미지를 참고하십시오:
Fortinet 또한 기능 코드를 통한 기능 동기화를 지원합니다. 해당 방식 역시 구독/알림 메커니즘에 의존하지만, 기능 동기화 자체 설정과는 무관합니다.
3CX, Yeastar 및 기타 대부분의 PBX 시스템(테스트 완료된 화웨이, ZTE IMS 서버 포함)은 기능 코드 호출용 INVITE 요청을 전송하여 해당 기능을 구현합니다. 이 방식은 단말 전화기에서 지원하기 비교적 간단합니다.
① 서버에서 방해 금지 모드를 활성화하거나 비활성화하면, 서버는 방해 금지 상태(true/false)가 담긴 SIP NOTIFY 메시지를 전화기로 전송합니다. 전화기는 메시지 수신 후 200 OK로 응답하고, 이에 맞춰 방해 금지 모드를 설정합니다. 관련 패킷 캡처 내역은 다음과 같습니다:
② 전화기에서 방해 금지 모드를 설정할 경우, 전화기는 먼저 방해 금지 상태(true/false)가 포함된 SUBSCRIBE 메시지를 서버로 전송합니다. 서버가 200 OK로 응답하고 방해 금지 설정이 변경되면, 서버는 상태 정보(true/false)가 담긴 SIP NOTIFY 확인 메시지를 전화기로 반환합니다. 이후 전화기는 200 OK로 응답합니다. 관련 패킷 캡처 내역은 다음과 같습니다:
1. 무조건 착신 전환
전화기와 BroadSoft 서버는 무조건 착신 전환의 활성화 여부 및 전환 번호를 동기화합니다.
① 서버에서 무조건 착신 전환을 설정하고 전환 번호를 지정하면, 서버는 착신 전환 상태(true/false)와 번호 정보가 담긴 SIP NOTIFY 메시지를 전송합니다. 전화기는 수신 후 200 OK로 응답하고, 해당 기능을 설정하고 전환 번호를 동기화합니다.
② 전화기에서 무조건 착신 전환을 설정할 경우, 전화기는 먼저 기능 상태(true/false)가 담긴 SUBSCRIBE 메시지를 서버로 전송합니다. 서버가 200 OK로 응답하고 설정이 변경되면, 서버는 확인용 NOTIFY 메시지를 반환하며 전화기는 200 OK로 응답합니다. 관련 패킷 캡처는 다음과 같습니다:
2. 통화 중 착신 전환
전화기와 BroadSoft 서버는 통화 중 착신 전환 기능 및 전환 번호를 동기화합니다.
① 서버에서 통화 중 착신 전환을 활성화하고 번호를 설정하면, 서버는 기능 상태(true/false)와 전환 번호가 포함된 SIP NOTIFY 메시지를 전송합니다. 전화기는 200 OK로 응답하고 기능을 적용하며 번호를 동기화합니다.
② 전화기에서 해당 기능을 설정하면, 먼저 상태 정보(true/false)가 담긴 SUBSCRIBE 메시지를 서버로 전송합니다. 서버 응답(200 OK) 후 확인용 NOTIFY 메시지가 전달되며, 전화기는 200 OK로 응답합니다. 패킷 캡처 내역은 다음과 같습니다:
3. 무응답 착신 전환
전화기와 BroadSoft 서버는 무응답 착신 전환의 활성화 상태와 전환 번호를 동기화합니다.
① 서버에서 무응답 착신 전환을 설정하고 번호를 지정하면, 서버는 기능 상태(true/false)와 번호 정보가 담긴 NOTIFY 메시지를 전송합니다. 전화기는 200 OK로 응답하고 기능을 적용합니다. 패킷 캡처는 다음과 같습니다:
② 전화기에서 무응답 착신 전환을 설정할 경우, 먼저 상태(true/false) 정보가 담긴 SUBSCRIBE 메시지를 서버로 전송합니다. 서버 응답 후 확인 메시지가 반환되며, 전화기는 200 OK로 응답합니다. 관련 패킷 캡처:
① 서버 측 방해 금지 설정/해제 (BroadSoft와 동일한 패킷 흐름)
② 전화기 측 방해 금지 설정/해제 (BroadSoft와 동일한 패킷 흐름)
1. 무조건 착신 전환 (BroadSoft와 동일한 패킷 흐름)
① 서버 무조건 착신 전환 설정/해제
② 전화기 무조건 착신 전환 설정/해제
2. 무응답 착신 전환 (BroadSoft와 동일한 패킷 흐름)
① 서버
② 전화기
3. 통화 중 착신 전환 (BroadSoft와 동일한 패킷 흐름)
① 서버
② 전화기
Fortinet 서버는 기능 코드를 통해 전화기와 상태를 동기화합니다.
서버에서 상태를 변경하면, 방해 금지 상태가 담긴 NOTIFY 메시지를 전화기로 전송합니다.
전화기에서 상태를 변경하면, 방해 금지 상태 정보가 포함된 SUBSCRIBE 메시지를 서버로 전송합니다.
착신 전환 설정에도 동일한 로직이 적용됩니다.
3CX, Yeastar 등 서버에서 기능 동기화를 활성화한 경우, 전화기만 서버로 상태를 동기화할 수 있습니다. 서버는 상태 변경 내용을 전화기로 재전송할 수 없습니다. 해당 제약이 존재하지만 구현 방식이 간단하여 일반적인 사용 환경에는 충족합니다.
기능 동기화 활성화 후, 각 기능에 대응하는 기능 코드를 추가로 설정해야 합니다. 자세한 내용은 아래 이미지를 참고하십시오:
전화기에서 방해 금지 모드를 설정하거나 해제하면, 전화기는 상태 동기화를 요청하는 INVITE 메시지를 서버로 전송합니다.
참고:
3CX 서버는 이후 uaCSTA 기능을 추가 지원하게 되어, 서버에서 방해 금지 모드를 활성화할 경우 uaCSTA 정보 메시지로 전화기에 상태를 알릴 수 있습니다. 하지만 현재 당사 기기는 해당 메시지를 활용하여 전화기 상태를 갱신하지 않습니다.