Asterisk 설정

by Taylor
1 comment

Asterisk / Elastix 설정 방법

Asterisk 11 버전

Elastix 3.0 버전

Freepbx 13 버전

기준으로 작성되었습니다

Elastix 3.0 버전 쓰지마세요.. 쓰다가 집어던지고 FreePBX로 넘어왔습니다…

아래 설정은 기본설정 (Organization, Extension, User 등이 셋팅되어 있어야 합니다)

언급하지 않은 셋팅은 기본값으로 두시면 됩니다.

————————————————-

+ SIP 설정

– Elastix :

PBX – Trunks 에서 [SIP] Create New Trunk 선택 (체크박스를 SIP로 설정)

Descriptive Name 은 알기쉽게 설정 (저는 Main)

Outbound Caller ID 에 SIP 계정의 전화번호 입력

Organization 선택

Peer Settings 탭으로 들어가서

Name 은 알기쉽게 암거나 (저는 Main)

Type = peer

secret = SIP 계정 비밀번호

username = SIP 전화번호

context = from-trunk

disallow = all

allow = ulaw;alaw;gsm

qualify = yes

nat = auto

dtmfmode = rfc2833

insecure = port,invite

(Advanced Settings 를 누름)

fromuser = SIP 전화번호

defaultuser = SIP 전화번호

fromdomain = SIP 서버주소

outboundproxy = SIP 프록시 주소(없으면 입력하지 않아도 됨)

User Settings 탭으로 들어가서

Peer Settings 이랑 똑같이 하되

type = user

로 변경

Registration 탭으로 들어가서

Register String 에 

SIP전화번호:SIP계정비밀번호@SIP서버주소

라고 입력한다

그리고 저장

만약 incoming 전화가 에러가 난다면 

SIP Setting 에서 Local network 가 셋팅되어 있는지 확인해보자

아래는 FreePBX 용 셋팅

CID Option 을 Force Trunk CID 로 셋팅

(이렇게 안하면 송신자가 Call Fail 뜸)

SIP Trunk

PEER Trunk

host=서버주소

username=번호

secret=비번

type=friend

disallow=all

qualify=yes

insecure=port,invite

context=from-trunk

fromuser=번호

defaultuser=번호

authuser=번호

allow=ulaw

위 대로 해서 안된다면 이렇게 해보자 (한국쪽 SIP Provider)

host=서버주소

username=070번호

secret=비밀번호

type=friend

disallow=all

qualify=yes

insecure=port,invite

context=from-trunk

fromdomain=서버주소

outboundproxy=서버주소

callbackextension=070번호

defaultuser=070번호

fromuser=070번호

allow=ulaw

————————————————-

————————————————-

전화 자동으로 연결되게 설정하기

PBX – Inbound Routes 에서 

ADD Incomming Route 클릭

Description 에 설명입력

Set Destination 에 연결할 곳을 선택하면 끝

그리고 저장

————————————————-

————————————————-

+ SIP 설정 후 Inbound 전화가 연결음만 나고 연결이 안될때

– Asterisk :

/etc/asterisk/sip.conf 에 아래 옵션을 추가한다

externaddr=외부아이피

localnet=내부아이피

– Elastix :

PBX Admin Settings – General Settings Admin – SIP Settings 에서

Nat Support 에서

Type of NAT 을 static 으로 변경

Local Network 를 172.30.1.0 / 255.255.255.0 으로 설정

Extern Addres 에 외부아이피 입력

그리고 저장

그리고

/etc/asterisk/sip_general_custom.conf 에 

bindaddr=0.0.0.0

추가 후 저장

+ Inbound 전화가 Call Fail (비프음이 나고 끊어질 때) 뜰 때 

SIP 설정이 위와 같이 제대로 설정되어 있는지 확인

추가로 다른 설정이 기본값을 벗어났는지 확인

확인된 에러:

– Outbound Caller ID 가 설정되어 있으면 에러남

– Queue 로 전화를 연결한 후 끊으면 그 다음 전화가 Fail 날 때 Queue 의 Destination 을 지정해준다 (예: Terminate Call)

– IVR -> Queue 으로 라우팅 된 후 Queue 에서 대기하고 있을때 Queue 설정이 변경되고 Asterisk 가 reload 되면 일정확률에서 송신자 Call Fail 이 뜬다. Asterisk 를 재시작하거나 Trunk 에서 CID Option 을 다른걸로 변경하고 Apply Config 한 후 다시 원상복귀 하면 정상작동 한다 (버그인듯 하다)

멍청한 짓이였다…

No route to peer for ‘Caller ID’ from ‘IP Address’

라는 에러메세지가 떴는데 이게 요청을 보낸 아이피주소와 요청이 오는 아이피주소가 달라서 그랬던거다.. host에 아이피주소 대신 도메인 주소를 썼기때문..

그래서 SIP Trunk 의 host 를 모두 IP 주소로 변경했더니 잘 동작한다

————————————————-

SIP Trunk 에서 컬러링(Ring back tone)이 들리지 않고 그냥 기본 통화연결음만 들릴때:

이건 기본적으로 Asterisk 가 통화가 연결될 때 까지 통화연결음을 만들어 내기 때문이다.

외국에는 컬러링 같은 개념이 없나보다..

SIP.conf 에 아래 두개를 추가해주면 된다

(Freepbx – Setttings – Asterisk SIP Settings – 오른쪽 탭 Chan SIP – 맨밑에 Other SIP Setting)

progressinband=yes

prematuremedia=no (확인해보니 이건 안넣어도 되네요)

————————————————-

+ Asterisk SIP Provider 인증상태 확인

asterisk -rx “sip show registry”

+ Asterisk Log 실시간 확인

tail -f /var/log/asterisk/full 혹은 tail -f /var/log/asterisk/messages

————————————————-

Cisco CP-9971 과 CP-9951을 Asterisk 에 연결하기

http://linuxmanr4.com/2011/09/05/telefono-cisco-9951-y-elastix/

FreePBX 12 기준 : 

아래 모든 사항은 유저셋팅, Extension 셋팅이 끝나고 나서 해야한다.

Extension 은 CHAN_SIP로 만듭니다.

아래 쪽에 있는 TFTP 설치방법을 참고하여 TFTP 설치

69번 포트 오픈

/tftpboot 폴더에 필요한 파일들을 넣는다

SEP{기기고유ID}.xml

dialplan.xml

Korean_Korea_Republic (언어파일, CME 관련된 페이지에서 받을수 있는듯 하다, 없어도 됨)

RINGLIST.DAT (벨소리리스트, 없어도 됨)

Settings – SIP Setting 에서 외부아이피 다 설정하고

NAT 은 공유기 환경이면 yes 아니면 no

그리고 오른쪽 탭의 SIP Setting 에서 맨 아래 

Other SIP Settings 에 아래 두개를 추가한다

callcounter = yes

tcpenable = yes

Extension 페이지 오른쪽 탭에서 시스코 전화기를 접속시킬 Extension 을 선택하고 

NAT MODE 를 Automatic Force Both로 선택

Port 를 5061 (CHAN_SIP 포트)로

Transport 를 All – TCP Primary 로 선택하고 저장합니다.

(추가 업데이트 예정)

————————————————-

————————————————-

TFTP 서버 설치하기

sudo apt-get install xinetd tftpd tftp

vim /etc/xinetd.d/tftp 에 아래 내용 추가

service tftp

{

protocol        = udp

port            = 69

socket_type     = dgram

wait            = yes

user            = nobody

server          = /usr/sbin/in.tftpd

server_args     = /tftpboot

disable         = no

}

sudo mkdir /tftpboot

sudo chmod -R 777 /tftpboot

sudo chown -R nobody /tftpboot

sudo /etc/init.d/xinetd restart

————————————————-

1 comment

DEWI PERMATASARI 2019-03-22 - 20:30

thank you for sharing. is there any other tutorials related to asterisk ?

Reply

Leave a Comment