별표: chan_sip.c:4321 __sip_reliable_xmit: 심각한 네트워크 문제; __sip_xmit이 pkt 데이터에 대한 오류를 반환합니다.

별표: chan_sip.c:4321 __sip_reliable_xmit: 심각한 네트워크 문제; __sip_xmit이 pkt 데이터에 대한 오류를 반환합니다.

Raspberry Pi 1(IP 192.168.2.2)에서 실행되는 Asterisk PBX 설정이 있고 몇 개의 로컬 IP 전화를 제대로 실행합니다. 저는 최근 아날로그 전화를 IP에 연결하고 IP를 PSTN에 연결하기 위해 Grandstream HT813 게이트웨이(IP 192.168.2.3)를 구입했습니다.

아날로그 전화가 완벽하게 작동하고 전화 걸기~에서PSTN은 완벽하게 작동합니다. 전화를 거는 것이 훨씬 더 문제였습니다. 우선, 내 sip.conf에 다음이 있습니다. (다른 전화기는 포함하지 않고 FXO 포트만 포함했습니다.)

[general]
context=default
sipdebug=yes
bindaddr=0.0.0.0

[FXO]
type=peer
context=inbound
host=192.168.2.3
insecure=port
dtmfmode=rfc2833
canreinvite=no
secret=secret_was_here

나는 명백한 이유로 위의 비밀을 수정했습니다. IP 전화(IP 192.168.2.5)를 통해 PSTN에 접속할 때 다음 오류가 발생합니다. [myphonenumber]테스트하기 위해 전화했던 휴대폰 번호는 어디에 있습니까?

  == Setting global variable 'SIPDOMAIN' to '192.168.2.2'
    -- Executing [[myphonenumber]@local:1] Goto("PJSIP/104-00000000", "dialout,[myphonenumber],1") in new stack
    -- Goto (dialout,[myphonenumber],1)
    -- Executing [[myphonenumber]@dialout:1] Dial("PJSIP/104-00000000", "SIP/FXO/[myphonenumber], 30") in new stack
  == Using SIP RTP CoS mark 5
Audio is at 13370
Adding codec ulaw to SDP
Adding codec alaw to SDP
Adding codec gsm to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (no NAT) to 192.168.2.3:5060:
INVITE sip:[myphonenumber]@192.168.2.3 SIP/2.0
Via: SIP/2.0/UDP 192.168.2.2:5060;branch=z9hG4bK71b94203
Max-Forwards: 70
From: <sip:[email protected]>;tag=as162b0b68
To: <sip:[myphonenumber]@192.168.2.3>
Contact: <sip:[email protected]:5060>
Call-ID: [email protected]:5060
CSeq: 102 INVITE
User-Agent: Asterisk PBX 16.2.1~dfsg-1
Date: Thu, 15 Aug 2019 19:11:17 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 291

v=0
o=root 1202030057 1202030057 IN IP4 192.168.2.2
s=Asterisk PBX 16.2.1~dfsg-1
c=IN IP4 192.168.2.2
t=0 0
m=audio 13370 RTP/AVP 0 8 3 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=maxptime:150
a=sendrecv

---
[Aug 15 20:11:17] ERROR[23679][C-00000001]: chan_sip.c:4321 __sip_reliable_xmit: Serious Network Trouble; __sip_xmit returns error for pkt data

그래서 Asterisk 서버 Pi의 출력을 미러링하도록 스위치 포트를 설정했습니다. 이 오류가 발생하면 게이트웨이에 데이터를 보내지 않으므로 문제는 별표에 있습니다. 물론 권한 오류나 방화벽 오류라는 글도 많이 봤습니다. 우선 테스트 중에 Asterisk 서버의 방화벽을 비활성화했습니다. (작은 네트워크입니다) 또한 실행하여 nmap -v -sU -p 5060 192.168.2.3게이트웨이가 제대로 작동하는지 확인했습니다. Asterisk 사용자로 해당 명령을 실행하면 물론 권한 오류가 발생합니다. syslog에는 다른 내용이 없습니다. 어떤 아이디어가 있나요?

업데이트:나는 그것을 다시 살펴보고 C 코드를 통해 호출을 추적했습니다. 연결에 UDP 소켓(29503행)이 필요함을 확인할 sipsock때 변수(1101행)가 -1로 설정되는 것이 문제인 것 같습니다 . sip_prepare_socket이는 -1을 반환하여 에 오류를 발생시킵니다 __sip_xmit. 추가 정보가 있는지 로그 파일을 검색하겠습니다. 또한 내 별표 버전은 v16.2.1입니다.

관련 정보