2014-12-30 2 views
0

특정 트렁크를 통해 특정 확장을 라우팅하도록 freepbx를 구성하려고합니다. 이 작업을 수행하는 몇 가지 방법을 보았으며 현재 사용자 정의 컨텍스트로이를 수행하려고합니다.Freepbx 사용자 지정 컨텍스트 아웃 바운드 경로

기본적으로 동일한 PBX에서 두 회사를 사용하고 있으며 회사 1의 컨텍스트가있는 내선 번호로 걸려온 전화는 회사 1 트렁크를 거쳐야하며 회사 2 컨텍스트가있는 내선 번호로 걸려온 전화는 회사 2 트렁크를 거쳐야합니다.

[from-internal] 
exten => h,1,Hangup() 


[company1] 
exten => 1234512345,1,Set(__FROM_DID=${EXTEN}) 
exten => 1234512345,n,Gosub(app-blacklist-check,s,1) 
exten => 1234512345,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)})) 
exten => 1234512345,n,Set(__CALLINGPRES_SV=${CALLERPRES()}) 
exten => 9498851902,n,Set(CALLERPRES()=allowed_not_screened) 
exten => s,1,Dial(SIP/1500) 

[company2] 
exten => 1234567890,1,Set(__FROM_DID=${EXTEN}) 
exten => 1234567890,n,Gosub(app-blacklist-check,s,1) 
exten => 1234567890,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)})) 
exten => 1234567890,n,Set(__CALLINGPRES_SV=${CALLERPRES()}) 
exten => 1234567890,n,Set(CALLERPRES()=allowed_not_screened) 
exten => s,1,Dial(SIP/1701) 

이것은 multitenants을 논의 사이트에서 가져온 것입니다 : 여기

는 내가 지금까지 가지고있는 것입니다. 모든 내선 번호가 내가 지정한 트렁크로 이동하도록 수정해야합니다. 어떤 확장자에 대해서도 일치하는 패턴을 찾을 수는 있지만, 어떻게하면이 트렁크에 goto라고 할 수 있을까요? 나는 이것에 관해 무엇인가를 발견 할 수없는 것처럼 보인다.

답변

0

마침내 내가 손을 잡을 수있는 모든 문서를 읽은 후이 문제에 대한 해결책을 찾으십시오.

나는 extensions_custom.conf에 다음 코드를 사용 :

[macro-dialout-trunk-predial-hook] 
exten => s,1,Set(PREDIAL_HOOK_RET=) 
exten => s,n,Set(DIAL_TRUNK=${IF($[ ${COMPANY} = company2]?2:${IF($[ ${COMPANY} = company1]?1:99)})}) 
exten => s,n,Set(OUTBOUND_GROUP=${IF($[ ${COMPANY} = company2]?2:${IF($[ ${COMPANY} = company1]?1:99)})}) 
exten => s,n,ExecIf($[${ISNULL(${COMPANY})}]?Hangup()) 
exten => s,n,MacroExit() 

내가 확신

[company1] 
include => from-internal 
exten => _X.,1,Set(_COMPANY=company1) 
include => macro-dialout-trunk-predial-hook 

[company2] 
include => from-internal 
exten => _X.,1,Set(_COMPANY=company2) 
include => macro-dialout-trunk-predial-hook 

내가 extensions.conf에 다음 코드를 사용을이 정돈 개선,하지만 지금은 할 수 , 나는 필요한 해결책을 가지고있다. 바라기를 이것은 다른 누군가를 도울 것입니다.

+0

왜 필요하지 않거나 예상 할 수없는 상황에서 freepbx 매크로를 사용 했습니까? 솔기는 당신이 정말로 당신이하는 일을 이해하지 못합니다. 그 포함을 제거해도 여전히 동일하게 작동 할 것입니다 – arheops

+1

@arheops, 나는 전문가가 아니며 단순히 작동하는 해결책을 찾았습니다. 당신이 더 좋은 방법을 가졌다면 나는 모든 귀이지만, 철퇴는 단지 불필요한 것입니다. –

관련 문제