Asterisk 설정

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

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

CUCM 구매/설치하기

시스코 시스템 기반으로 인터넷 전화를 구성하려고 보니 라이센스 비용만 기본 100만원이 넘어가게 생겼네요..

시스코 VoIP 시스템은 인터넷에 자료도 워낙 적어서 찾느라 애를 먹었는데 일주일 정도 검색해서 정보를 모아서 결국 제일 괜찮은 구성을 찾았습니다

기본적으로 엔터프라이즈급 회사에서는 아래처럼 구성합니다

IP Phone -> L2 -> Cisco IOS Router -> CUCM -> CUBE -> SIP Provider -> Receiver

이렇게 하면 필요한 시스코 장비가 2대이고 라이센스도 여러개가 필요해서 굉장히 비쌉니다..

그래서 대체로 찾은 구성이 이것

IP Phone -> L2 -> Normal Router -> CUCM –(SIP Trunk)–> Asterisk -> SIP Provider -> Receiver

이렇게 하면 필요한 시스코 장비는 0대이고(CUCM 가상서버로 설치), 필요한 라이센스는 1 + a(필요한 기능) 입니다.

Cisco UCM(CUCM) 에서 내가 IP Phone CP-9971(Voice&Video) Enhanced 라이센스 부터 지원해서 최소 라이센스 비용이 1유저당 $210입니다.

CUCM 보통 볼륨라이센스(대량라이센스) 라이센싱을 해서 낮은 수의 유저로 계약할땐 특별할인을 받지 못해 거의 1 유저당 20만원 정도의 가격이 매겨집니다.. (나빠요 ㅠㅠ)

CUCM 설치에 대해 얘기해보자면 CUCM 가상서버에도 올라갈수 있는 설치형 시스템입니다

다만 설치할수 있는 가상서버 환경은 VMware 기반으로 제한적입니다.

최소 2기가가 필요한 제한조건만 갖추면 설치/구동이 가능합니다(성능이 낮으면 기능에 제약이 걸림). 

하지만 VMware 라이센스도 별도로 구매하려면 돈이 들고 물리적 서버를 갖추자니 관리가 힘드므로 Hyper-V 설치하는 편법을 쓰기로 했습니다

CUCM 설치시에는 하드웨어 체크를 꼼꼼히 하기때문에 회피가 불가능 하고 일단 VMware 설치를 하드디스크 파일을 Hyper-V용으로 변경 그리고 부팅하드웨어 체크 스크립트를 수정하여 하드웨어 체크를 회피합니다

이러면 Hyper-V 기반에서도 CUCM 사용이 가능합니다. 다만 정상작동 보장이 안될뿐이죠

제가 이렇게 까지 CUCM 설치하려는 이유의 첫째는 Cisco IP Phone 사용하고 싶어서 이고(조금 멋져보임) 둘째는 Auto Attendant(ARS) 사용하고 싶어서 입니다

사실 Auto Attendant 다른 VoIP 시스템에서도 가능하지만 그냥 시스코것을 써보고싶었습니다 ㅎㅎ

-> 2014.12.4 = 오늘 CUCM 구매를 하려고 기존에 알아봤던 곳에 전화를 했는데 1유저 라이센스는 너무 작아서 판매가 어렵하고 하네요ㅠㅠ.. 그래서 Cisco 쪽에 전화했더니 시스코 총판인 A회사라 곳을 알려주는데 이곳에서 B회사라는 곳을 연결해주었습니다.. (302 Redirect 몇번째인지 ㅠㅠ) 지금 B회사 쪽이랑 얘기중인데 아무래도 여기서는 CUCM 구매할수 있을것 같은 느낌이 듭니다! 개인 + 소량 구매유저에게 Enterprise 제품을 정말 안팔긴 하나봅니다…

-> 2014.12.5 = B회사에서 오늘 견적을 받았습니다만.. 이해가 안가는 부분이 있어서 다시 전화를 드렸습니다. 시스코 CUCM 라이센싱은 포트(?) 때문에 한 유저당 6유저 라이센스가 필요하다고 하네요.. 이 부분이 이해가 안가서 다시 여쭈어보고 연락을 기다리는 상황입니다..

제가 다른회사에서 전해들은 금액은 대충 20~30만원 선에서 구매하는 정도였는데 견적을 받은 대로라면 거의 40만원이 넘어가는 금액이라 예산을 초과하게 됩니다.. 근데 정말 이번 거래를 하면서 느낀점이 큰회사가 아닌 작은회사들은 시스코같은 큰 회사 제품을 구매하기 조차 힘들다는 것 이었습니다… 돈주고 구매하겠다는데도 안팔려고 하는곳도 많고 홀대하는 느낌을 많이 받네요… 많이 실망입니다..

2014.12.5 15:55 = 솔직히 맘같아선 CUCM 말고 그냥 Asterisk 로 구축하고 싶습니다.. 이번 거래 끝나면 Cisco 본사에 컴플레인 메일을 보낼 예정입니다. 기분이 나쁘군요

Cisco CP-9971 구매

Cisco VoIP 시스템을 구현하고 사용하기 위해서 Cisco CP-9971 인터넷전화기를 구매했다

일단은 CUCM이라는 VoIP 매니저 서버를 구축한 뒤 그 서버에 이 전화기를 연결하면 된다고 하는데 아직 해보지는 않아서 잘 될지 모르겠다..
CUCM 10.5 Enhanced 라이센스가 $180 정도 하는것 같은데 이것도 구매하려 하는데 시스코 한국 파트너사들이 개인고객에게 친절하지 않아서 애를 먹고있다.. 차라리 외국 파트너에게 구매하는게 나을 정도..

CP-9971은 비디오와 음성을 지원하고 터치스크린인게 특징