sip 클라이언트 등록 시간 초과 세부 사항
1. 등록 정보 데이터베이스 테이블.
// sofia.c 2476 。
// sofia_reg_internal.db sip_registrations 。
sql = switch_mprintf("insert into sip_registrations "
"(call_id, sip_user, sip_host, presence_hosts, contact, status, rpid, expires,"
"user_agent, server_user, server_host, profile_name, hostname, network_ip, network_port, sip_username, sip_realm,"
"mwi_user, mwi_host, orig_server_host, orig_hostname, ping_status, ping_count) "
"values ('%q','%q','%q','%q','%q','Registered','%q',%ld, '%q','%q','%q','%q','%q','%q','%q','%q','%q','%q','%q','%q','%q', '%q', %d)",
call_id, from_user, from_host, presence_hosts, contact_str, rpid, expires, user_agent, to_user, guess_ip4,
profile_name, mod_sofia_globals.hostname, network_ip, network_port, username, realm, mwi_user, mwi_host,
orig_server_host, orig_hostname, "Reachable", 0);
2. 시간 초과.
3. 등록 정보가 업데이트됩니다.
.그러면 1010 이sip 클라이언트는 등록 후 50~100초 안에 다시 등록하고 등록 정보의 시간 초과 시간을 업데이트합니다..4. 시간 초과 및 등록 시간의 관계.
이 초수 x는 두 가지 상황이 있다. 1) 사용자 설정 정보에sip-force-expires의 구체적인 값이 100과 같다면 x는 100초와 같다.2) 사용자 설정 정보에서 이 expires 값을 설정하지 않으면sip 클라이언트가 등록할 때 제출한 정보에서 expires 값을 가져옵니다. 예를 들어 x-litesip 클라이언트는 일반적으로 expires 값을 3600초로 설정합니다.그럼 x는 3600초입니다.
이 초수 y는sip 프로토콜 소스 코드에서 기본적으로 설정된 보안 시간입니다. 보통 y는 60초입니다.사용자 설정 정보에서sip-force-expires가 너무 작게 설정되어 등록 사용자의 시간 초과 여부를 빈번하게 검사하는 것을 방지할 수 있습니다.
소스 코드에서 수정하려면 sofia_reg.c 원본 파일의 시간 초과 =
(long)reg_time + (long)exptime + profile->sip_expires_late_margin
위의 식과 일일이 대응한다.5. 등록 시간 초과
6. 사용자 정상 오프라인 이벤트 알림
이상의 이벤트는freeswitch에 관련api 구독을 보내야 합니다
api event plain CUSTOM sofia::register sofia::unregister sofia::expire
.받은 사건의 본문 내용은 일부 사용자의 정보를 포함할 것이다. 예를 들어 번호, 시스템의 현재 시간, 시간 초과 시간 등이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.