2017-02-24 40 views
2

별표 13.13.1을 PJProject 2.5.5로 구성하고 SIP 드라이버로 PJSIP를 활성화합니다 (chan_sip을 컴파일하지 않음).pjsip 및 Asterisk 13에서 인바운드 호출을 허용하는 방법은 무엇입니까?

전 시스템이 완벽하게 구성되어 작동하지만 수신 통화에 문제가 있습니다. 나는 주인장과 연결 몇 가지 숫자를 가지고 있고이 공개 번호에서 호출 할 때 나는 별표 원격 콘솔에이 정보주의 :

[Feb 24 14:27:16] NOTICE[5291]: res_pjsip/pjsip_distributor.c:525 log_failed_request: Request 'INVITE' from '"zzzzz" <sip:[email protected]>' failed for '192.168.34.1:5062' (callid: [email protected]:5062) - No matching endpoint found 

을 그리고 난 다음이 작동하고 엔드 포인트에 내 별표에 호출 수를 추가하는 경우 - 이 전화를받을 수 있습니다.

모든 인바운드 통화를 허용하는 방법을 추가하는 방법은 무엇입니까?

+0

sip 구성 파일 및 다이얼 플랜에서 관련 비트로 질문을 업데이트 할 수 있습니까? 나는 당신을 위해 나중에 확인할 수있는 구성 설정을 가지고있다. – user3788685

+0

@ user3788685 안녕하세요 - 저는 특별한 설정이 없습니다. Dialplan은 다이얼 기능 만 있습니다. youur 설정을 주시겠습니까? pjsip.conf 및 트렁크 설정? 나는 실시간 종점 (포스트 그레스)을 가지고있다. – user3025978

+0

완료 - 문제가 있어도 아래 답변에 정보를 변경/변경할 수 있음을 알려주세요 - 내 구성은 정적이며 db는 아예 없습니다 - 죄송합니다. – user3788685

답변

0

누락 된 것이 있습니다. pjsip config. 기본 구성은 다음과 같으며 내선 번호가 sipgate 인 설정을 기반으로합니다. 이 구성은 실행중인 상자에서 추출되었습니다 (사용자 이름은 &이지만 제거되었습니다).

[transport-udp] 
type = transport 
protocol = udp 
bind = 0.0.0.0 


[reg_sipgate_premium] 
type = registration 
retry_interval = 20 
max_retries = 10 
contact_user = 0000000 
expiration = 120 
transport = transport-udp 
outbound_auth = auth_sipgate_premium 
client_uri = sip:[email protected]:5060 
server_uri = sip:sipgate.co.uk:5060 

[auth_sipgate_premium] 
type = auth 
username = 0000000 
password = password 

[sipgate_aor_premium] 
type = aor 
contact = sip:[email protected] 

[sipgate-preimum] 
type = endpoint 
context = incomingsipgate 
dtmf_mode = rfc4733 
disallow = all 
allow = alaw 
rtp_symmetric = yes 
force_rport = yes 
rewrite_contact = yes 
timers = yes 
from_user = 0000000 
from_domain = sipgate.co.uk 
language = en 
outbound_auth = auth_sipgate_premium 
aors = sipgate_aor_premium 

extensions.conf

[incomingsipgate] 
exten => 0000000,1,Goto(sipgate-in-premium,0000000,1) 

[sipgate-in-premium] 
exten => 0000000,1,Verbose(Incoming call from Sipgate line CallerID=${CALLERID(all)}) 
exten => 0000000,2,Goto(internal-ext,120,1) 

[internal-ext] 
exten => 120,1,Dial(SCCP/120,20,o,CallerID=${CALLERID(all)}) 

이 줄

pjsip.conf

는 사용자가 내부적으로 90500xxxxxxx 전화를 걸 때 (0500) 수와 sipgate를 통해 경로를 어떤 무료 전화를 잡기 위해 사용된다;

exten => _90500.,1,Dial(PJSIP/${EXTEN:1}@sipgate-preimum) 
0

확실히 수신 라인 운영자 컨텍스트에 문제가 있습니다. 문제는 pjsip이 아니며 dialplan에 있습니다. 적절한 dialplan을 섹션 이해하는 트렁크 (또는 등록 상황에 맞는 값을 확인하십시오.이 걸려 오는 전화를받을 수있는 지역 번호에 공개 번호 3333에

[outer] 
exten=>_1234567,1,NoOp(Incoming call to public number 1234567) 
exten=>_1234567,n,GoTo(outer,3333,1) 
exten=>_1234567,n,Hangup() 
exten=>_3333,1,NoOp(Transfered from public context to local extension 3333) 
exten=>_3333,n,Dial(PJSIP/${EXTEN},180) 
exten=>_3333,n,Hangup() 

변경 1234567을 물론, 컨텍스트로 outer 설정 수신 전화 번호 공급자 등록 (트렁크)에 대한.

2

당신은 알 수없는 엔드 포인트에서 인바운드 호출을 수락하는 익명 엔드 포인트를 작성해야합니다.

익명의 엔드 포인트를 추가하는 확장 scannin에 시스템을 엽니 다주의하십시오 g 스캐너가 시스템에서 구성한 확장 기능을 찾으려고 할 때 공격합니다. 그들은 광고 전화로 스팸을 보내거나 장거리 전화를 걸기 위해 전화를 착취 시키거나 다른 허풍의 동기로 사용합니다.

익명 엔드 포인트를 생성 한 후 확장 프로그램에서 사용한 컨텍스트와 다른 컨텍스트로 연결하십시오. 이렇게하면 트렁크를 통해 장거리 전화를 걸지 못하게됩니다.

다음과 같은 줄을 추가, pjsip.conf에 익명의 엔드 포인트를 추가하려면 :

[anonymous] 
type=endpoint 
context=anonymous 
disallow=all 
allow=speex,g726,g722,ilbc,gsm,alaw 

을 dialplan을 extensions.conf에서 :

[anonymous] 
exten => _XXXXX,1,GotoIf(${DIALPLAN_EXISTS(local-extensions,${EXTEN},1)}?local-extensions,${EXTEN},1) 
same => n,Hangup(1) 

local-extensions 해당 지역의 확장을 나열하는 상황이다.