이전 튜토리얼에서 FreePBX 설치에 대해 설명했습니다. 이제 수신 통화용 트렁크를 만드는 방법을 알아보겠습니다.
필요한 사항:
- 정상 작동하는 FreePBX
- 단일 SIP 계정(이중화를 위해 여러 개 사용 가능)
- 하나 이상의 DID
- 구성된 FreePBX
정상 작동하는 FreePBX:
FreePBX 설치에 대한 이 튜토리얼을 참조하십시오: https://multitel.net/docs/view/671/tutorials/installing-freepbx
단일 SIP 계정(또는 이중화를 위한 여러 계정)
먼저 여기에서 SIP 계정을 만들 수 있습니다: https://multitel.net/trunks/accounts
“새로 만들기(Create New)” 버튼을 클릭하세요. 새 창이 나타납니다. SIP 사용자 이름(SIP Username)과 SIP 비밀번호(SIP password)를 복사하여 메모에 저장하세요. 나중에 필요합니다.
완료되면 “제출(Submit)” 버튼을 클릭하세요.

이 예제에서는 다음과 같은 SIP 계정을 만들었습니다:
SIP Username: [SIP_USERNAME]
SIP Password: [SIP_PASSWORD]
(실제로는 SIP 사용자 이름/비밀번호가 이와 다릅니다. 본인의 SIP 사용자 이름과 SIP 비밀번호를 사용하세요. 위의 값은 이 튜토리얼 작성 후 삭제되었습니다)
이제 사용할 SIP 프록시로 다음 중 하나를 선택할 수 있습니다(알파벳순):
| 대륙 | 국가 | SIP 프록시 |
| 아프리카 | 남아프리카공화국 | sbc-za.multitel.net |
| 아시아 | 싱가포르 | sbc-sg.multitel.net |
| 오스트레일리아 및 오세아니아 | 호주 | sbc-au.multitel.net |
| 유럽 | 네덜란드 | sbc-nl.multitel.net |
| 유럽 | 독일 | sbc-de.multitel.net |
| 유럽 | 영국 | sbc-uk.multitel.net |
| 북미 | 캐나다 | sbc-ca.multitel.net |
| 북미 | 미합중국 | sbc-us.multitel.net |
| 남아메리카 | 브라질 | sbc-br.multitel.net |
따라서 유럽에 계신 경우 유럽 기반 SIP 프록시 중 하나를 선택하시면 됩니다. 각각에 ping을 보내 귀하의 위치에서 더 가까운 프록시를 확인할 수 있습니다:
제 테스트에서는 sbc-ca.multitel.net이 가장 가까웠으며, 왕복 시간은 약 20-21ms였습니다.

따라서 이 자습서에서 사용할 자격 증명은 다음과 같습니다.
SIP 사용자 이름: [SIP_USERNAME]
SIP 비밀번호: [SIP_PASSWORD]
SIP 프록시: sbc-ca.multitel.net
하나 이상의 DID:
여기에서 DID 번호를 구매할 수 있습니다: https://multitel.net/numbers/rent
또는
기존 번호 중 하나를 사용할 수 있습니다: https://multitel.net/numbers/inventory
또는
직접 선택한 통신사 서비스를 연동할 수 있습니다(Bring Your Own Carrier): https://multitel.net/numbers/byoc
어떤 방법을 선택하든 다음 화면에 도착하게 됩니다:
https://multitel.net/numbers/inventory
DID가 SIP 등록에 사용하는 것과 동일한 SIP 프록시에서 통화를 보내도록 설정되어 있는지 확인해야 합니다. 방법은 다음과 같습니다:
번호 편집:
먼저 여기로 이동하세요: https://multitel.net/numbers/inventory

번호를 검색한 후 번호 편집 (Edit Number) 버튼을 클릭하십시오:

"수신 트렁크 (Origination trunk)" 설정을 찾아 "sbc-ca.multitel.net"(또는 귀하의 위치에서 가장 가까운 SIP 서버)으로 설정하십시오.

다음으로, DID가 통화를 SIP 계정으로 보내도록 설정되어 있는지 확인하세요.
"Call Action" 메뉴를 "SIP Account"로 설정하고, "SIP Account" 메뉴가 사용하려는 SIP 계정으로 설정되어 있는지 확인하세요.
MultiTEL 포털에서 해야 할 작업이 모두 완료되었습니다. 다음 단계로 이동하겠습니다:
구성된 FreePBX:
웹 브라우저에서 FreePBX 서버를 여십시오:
"FreePBX Administration"(FreePBX 관리)을 클릭하십시오. 사용자 이름과 비밀번호를 묻는 창이 표시됩니다. 이 정보는 "FreePBX 설치"라는 제목의 이전 튜토리얼에서 설정한 것임을 기억하십시오.
활성화는 아마 건너뛰어도 될 것입니다. 선택은 자유입니다.
광고가 포함된 새 창이 나타날 수 있습니다. 클릭할지 건너뛸지는 자유입니다. 이 튜토리얼을 짧게 유지하기 위해 저는 건너뛰겠습니다.
저는 로캘을 선택해야 했습니다:
다른 광고가 더 표시될 수 있습니다. 건너뛰시기를 권하며, "Skip"(건너뛰기) 버튼이 없으면 "Abort"(중단)를 클릭하십시오.
저는 바로 "Connectivity"(연결 설정)로 이동하여 "Trunks"(트렁크)를 선택하겠습니다:

"Add Trunk"(트렁크 추가) 버튼을 클릭하고 "Add SIP (chan_pjsip) Trunk"(SIP 트렁크 추가)를 선택하십시오:
새 창에서 설정할 내용은 다음과 같습니다:
트렁크 이름: MultiTEL로 안전하게 설정할 수 있습니다
최대 채널: 이 PBX 제한은 동시 통화 수를 제어하며, 전화번호의 요금제를 변경하지 않습니다. 포함된 채널과 분 수는 요금제에 따라 다릅니다. 사용량 기반 요금제에는 포함된 통화 시간이 없습니다. 승인된 미국 현지 전화번호 패키지에서는 동시에 걸려 온 두 통화가 월 100,000분의 제공량을 사용할 수 있습니다. 초과 통화가 허용되어 있으면 세 번째 동시 통화는 전체 통화 시간에 대해 요금이 부과되며 이 제공량을 사용하지 않습니다. 초과 통화가 비활성화되어 있으면 통화가 거부됩니다. 포함된 통화 시간을 초과한 통화에는 요금제의 사용 요율이 적용됩니다. 이 PBX 필드를 2로 설정하면 PBX의 동시 통화 수가 제한되지만, 사용 요금이 없어지거나 전화번호 측의 초과 통화 설정이 구성되는 것은 아닙니다. 전화번호의 요금제와 현재 요율을 확인하십시오.
Asterisk 트렁크 다이얼 옵션: 저는 항상 링음을 생성하는 것을 선호하므로 "재정의 (Override)" 버튼을 클릭하고 옵션을 "Ttr"로 설정하겠습니다("Tt" - 발신/착신 당사자가 통화를 전환할 수 있도록 허용, "r" - 링 생성)
다음으로 "pjsip 설정 (pjsip Settings)" 탭으로 이동하십시오.
"단일 SIP 계정(A single SIP account)" 단계에서 받은 SIP 자격 증명으로 입력하십시오.
SIP Username: [SIP_USERNAME]
SIP Password: [SIP_PASSWORD]
SIP Proxy: sbc-ca.multitel.net
다시 한번 말씀드리지만, 자신의 SIP 자격 증명을 사용하십시오. 위의 자격 증명은 더 이상 존재하지 않으며 이 튜토리얼 작성을 위해서만 사용되었습니다. 존재하지 않는 이 테스트 자격 증명을 사용하려고 하면 IP 주소가 차단됩니다.
최소한 저는 다음 설정을 구성하겠습니다:
컨텍스트를 "from-multitel"로 변경한 점에 유의하십시오(초기값은 "from-pstn"이었습니다). 이 변경은 중요하며, DID마다 별도의 SIP 계정을 사용하는 대신 단일 SIP 계정을 사용하여 여러 인바운드 DID에서 걸려오는 통화를 추가로 처리할 수 있게 합니다.
코덱(Codecs) 탭에서는 ulaw와 alaw만 유지하겠습니다:
제출(Submit) 버튼을 클릭하겠습니다:

그런 다음 나타나는 팝업 메뉴는 무시하세요. (저는 트렁크마다 발신 CID를 하나씩 두기보다 내선에 발신 CID를 설정하는 방식을 선호합니다. 이렇게 하면 발신자가 사용해야 하는 발신자 ID마다 트렁크를 여러 개 정의할 필요 없이 하나의 트렁크에서 여러 발신자 ID를 사용할 수 있습니다.)
이제 "OK"를 클릭하세요
페이지가 새로 고쳐지면 새 SIP 트렁크가 표시됩니다. 화면 오른쪽 상단의 빨간색 "설정 적용 (Apply Config)" 버튼을 클릭하세요:

화면이 새로고침되고 빨간색 Apply Config 버튼이 사라지면 Asterisk CLI에서 SIP 계정이 성공적으로 등록되었는지 확인해 보세요.
SSH를 사용하여 FreePBX 서버에 로그인한 후 다음을 실행하십시오:
asterisk -rx 'pjsip show registrations' | grep multitel
아래와 유사한 출력이 표시될 것입니다.
이제 SIP 등록이 작동하므로 당사의 DID에 대한 인바운드 라우트를 생성하겠습니다.
"Connectivity"(연결 설정)로 이동하여 "Inbound Routes"(수신 경로)를 선택하십시오:
"Add Inbound Route"(수신 경로 추가) 버튼을 클릭하십시오.
이 테스트를 위해 인바운드 통화가 에코 테스트로 연결되도록 하겠습니다.

저장 후 기본 수신 경로(Inbound routes) 화면으로 이동합니다:
이제 거의 끝났습니다. 우선 화면 오른쪽 상단의 빨간색 "설정 적용"(Apply Config) 버튼을 클릭하십시오.
SIP 트렁크를 설정할 때 컨텍스트를 "from-multitel"으로 변경했던 것을 기억하십니까? 마지막 단계는 해당 컨텍스트를 추가하는 것입니다.
서버 콘솔에서 해당 작업을 수행해야 합니다:
nano /etc/asterisk/extensions_custom.conf
다음 줄을 추가하세요:
[from-multitel]
; exten => s,1,Set(DID=${SIP_HEADER(X-DID)}) ; set this if using chan_sip
exten => s,1,Set(DID=${PJSIP_HEADER(read,X-DID)}) ; set this if using chan_pjsip
exten => s,2,Goto(from-pstn,${DID},1)
저장(CTRL+O , Enter , CTRL+X )한 후 asterisk 다이얼플랜을 다시 로드하세요:
asterisk -rx 'dialplan reload'
이제 모두 완료되었으며 인바운드 통화는 문제없이 연결되어야 합니다. 이제 동일한 SIP 계정을 사용하는 여러 DID를 사용할 수 있습니다.
참고: 이는 어떻게 작동합니까? SIP 계정이 사용자 지정 컨텍스트 "from-multitel"을(를) 사용하도록 설정했습니다. 그런 다음 "from-multitel" 컨텍스트에서 "X-DID"라는 SIP 변수를 처리하고 착신 번호를 해당 값으로 설정합니다. 그런 다음 통화는 "from-pstn" 컨텍스트로 다시 전송됩니다.