2016-07-11 2 views
0

방화벽에서 UDP 패킷에 UDP 조각화 문제가 발생하여 트렁크의 원래 SIP 요청을 TCP로 변경하려고했습니다. 내가 추가, 전송 = tcp 우리의 발신 URI. 그러나 그것은 작동하지 않는 것처럼 보입니다. 연결이 실패합니다. 방화벽에서 Twilio의 패킷을 볼 수 없으며 호출에 대한 Twilio PCAP 로그는 TCP 대신 UDP를 사용하고 있음을 보여줍니다. 아무도 이것을 올바르게 설정하는 방법을 알고 있습니까?Twilio의 TCP 신호 관련 문제

설명서에 따르면 : 기본적으로 Twilio는 원본 SIP 요청을 UDP를 통해 통신 인프라를 향해 보냅니다. UDP가 아닌 TCP를 통해 전송되도록 사용자 정의 할 수 있습니다. 발신 SIP URI의 전송 매개 변수를 사용하여이를 변경하십시오. 그리고 주어진 예제는 다음과 같습니다. sip : [email protected]; transport = tcp

+0

이런 종류의 문제가있는 경우 [Twilio support] (https://www.twilio.com/help/contact)에 문의하는 것이 좋습니다. 그들은 작동하지 않는 코드에 대한 질문이 많은 StackOverflow보다 쉽게 ​​당신을 도울 수 있어야합니다. 건배! – philnash

+0

SIP 트렁크 또는 Twiml SIP를 사용하고 있습니까? 옵션은 SIP 트렁킹과 함께가는 길일 것 같습니다. – spicyramen

+0

우리는 SIP 트렁크를 사용하고 있습니다. –

답변

2

발신 통화 실패로 문제가 해결 된 것 같습니다. (Asterisk + FreePBX 서버를 사용하는) 상당수의 고객이 똑같은 정확한 문제를 겪고 있으며 무작위 (처음 또는 처음 몇 개)의 인바운드 통화가 401 무단 오류로 거부되는 것으로 나타났습니다. 불행히도 이러한 고객 중 한 고객을 제외하고는 누구도 문제를 해결할 수 없었습니다. http://community.freepbx.org/t/twilio-inbound-suddenly-stops-working/33216/37 위의 고객은 초기 발신 전화가 실제로 인바운드 대신 트렌디 한 트렁크에 연결되었음을 디버그 로그에서 확인했습니다 트렁크; 들어오는 설정이 구성되지 않았으므로 (분명히) 실패합니다. 고객이 모든 Twilio 아웃 바운드 트렁크를 제거했을 때 그는 더 이상 Twilio 콘솔의 로그에 실패한 발신 통화를받지 못했습니다. 그런 다음 인바운드 및 아웃 바운드 단일 메인 Twilio 트렁크를 작성하여 실패한 인바운드 콜없이 수신 및 발신 통화를 처리했습니다.

위의 해결 방법은 이상적인 것이 아니므로 Twilio의 발신 전화가 아웃 바운드 트렁크를 사용하는 이유를 조사했습니다 (초기). 그 답은 FreePBX가 트렁크 이름을 알파벳 순으로 구성된 트렁크 설정이고 별표는 구성 파일을 위에서 아래로 읽는 것입니다. 또한 트렁크 구성에 중복 호스트 IP가있는 경우 별표 (1.6 이상 버전)는 중복 호스트 IP가있는 첫 번째 트렁크 (위에서 아래로)를 사용합니다.

FreePBX Interconnect guide you can download here에 따르면 IP 54.244.51.0-3 및 5 (1 마스터 + 4 하위 계정)를 사용하여 IP 54.172.60.0-3, 4 인바운드 (미국 OR) 트렁크를 사용하여 4 개의 인바운드 (미국 VA) 트렁크를 가지고 있습니다.) FQDN 종료를 사용하는 아웃 바운드 Twilio 트렁크 sip uri. 아웃 바운드 트렁크 중 일부는 인바운드 트렁크보다 먼저 알파벳순으로 정렬되었습니다. 나는 'z'로 시작하는 모든 아웃 바운드 트렁크의 이름을 변경하여 FreePBX가 아웃 바운드 Twilio 트렁크를 구성 파일의 끝에 놓을 수있게했습니다. 그 트릭을했고 인바 운드 '실패'전화를 해결.