Software Architect/VoLTE / VoIP / SIP

출처 : http://blog.daum.net/dignmnd/5575229


Mac을 강력한 PBX 서버로 변신시켜라

- Mac OS 에서 Asterisk PBX를 설치하기(Mini 추천)

당신이 MAC을 사용하고 있다면, Unix/Linux 기반의 Asterisk Solution을 설치할 준비가 모두 마무리 되어 있는 겁니다.

MAC의 Terminal을 열면 Unix command를 사용해서 Unix 관련 작업을 할 수 있습니다.

바꿔말하면, 이 작업을 위해서는 Unix command의 기초 지식이 있어야 할 것 입니다.

하지만, 단지 Asterisk를 설치하기 위해서라면 다음과 같이 따라하기만 하면 큰 어려움 없이 설치가

가능할 수 있습니다.

1. 선행작업
• GCC Compiler 설치
• 먼저 (Snow) Leopard 및 Lion OS 사용자라면 GCC Compiler만 Install하면

Asterisk를 Source Code로 Build & Install하는 것이 가능합니다.
• GCC가 내 System에 설치되어 있는지 확인하려면 Terminal창에 gcc 라고 입력하고

enter를 눌러 다음과 같은 화면이 나와야 합니다.

 

 

 

• 만일 설치되어 있지 않다면 developer.apple.com 에 접속해서 XCODE 4.x 버전의 개발툴을

설치하시면 됩니다. 설치시 Unix 개발 Tool과 관련된 Option(command line tools라고 표시된

option) 을 반드시 선택해서 설치해야 합니다.

 

 

2. Asterisk 웹에 접속해서 Source Code Package를 가져오기
http://www.asterisk.org/downloads 에 접속해서 Asterisk 1.8.11.1(혹은 Update Version) Source Tarball 이라 되어 있는 파일을 Download 받습니다.

성공적으로 Download되면 “asterisk-1.8.11.1.tar” 라는 파일을 확인할 수 있을 겁니다.
"*.tar"는 Unix/ Linux계열에서 사용되는 압축 형식입니다.

 

 

3. Asterisk 압축을 풀고 Build 시작

압축을 푸는 방법은 Terminal 창에서 다음 명령어를 입력하면 됩니다.

"$ tar -xzvf asterisk-1.8.11.1.tar" 이렇게 하면 현재 Directory에 소스 코드 압축이 풀립니다.
압축이 풀린후 "ls -l" 이란 명령어를 Terminal에 넣으면 다음과 같은 파일들을 볼 수 있을 것 입니다.

 

 

4. 이제 실제 Build하는 과정이니 약간 주의를 기울여주세요

"$ ./configure" 라고 한다. 이 과정은, 현재 자신의 개발 환경에 맞는 환경 옵션들을 확인하는

과정이며, 나중에 Build Error가 발생했을때 Debugging하는 Information이 되니 잘 기억해 두어야

합니다.

 

 

- Configure 과정이 끝나면 Build하는 Option을 선택해야 합니다.
- CentOS 등의 Linux에 최적화되어 있는 Asterisk는 안타깝게도 MAC을 100% 지원하지 않습니다.

따라서 MAC에 호환되지 않는 항목은 제거해야 합니다.

$ make menuselect

이제 GCC compiler로 Build를 열심히 하다가 다음과 같은 화면이 실행될 겁니다.

화살표를 이용해서 Resource Modules 화면으로 가서 Enter를 눌러 Sub Menu로 진입합니다.


=================================
AKMini:asterisk-1.8.11.0 AllanMini$ make menuselect
CC="cc" CXX="" LD="" AR="" RANLIB="" CFLAGS="" make -C menuselect CONFIGURE_SILENT="--silent" cmenuselect
gcc -g -c -D_GNU_SOURCE -Wall -c -o menuselect.o menuselect.c
gcc -g -c -D_GNU_SOURCE -Wall -c -o strcompat.o strcompat.c
gcc -g -c -D_GNU_SOURCE -Wall -c -o menuselect_curses.o menuselect_curses.c
gcc -Os -g -Wall -c mxml-attr.c
gcc -Os -g -Wall -c mxml-entity.c
gcc -Os -g -Wall -c mxml-file.c
gcc -Os -g -Wall -c mxml-index.c
gcc -Os -g -Wall -c mxml-node.c
gcc -Os -g -Wall -c mxml-search.c
gcc -Os -g -Wall -c mxml-set.c
gcc -Os -g -Wall -c mxml-private.c
gcc -Os -g -Wall -c mxml-string.c
.......................................................
=================================

이때, 다음과 같은 항목을 반드시 Check box에서 제거합니다.

(제거하는 방법은 해당 항목에서 spacebar를 눌러서 제거합니다)


res_agi
res_crypto
res_monitor
res_adsi
res_pktccops
res_snmp

를 제거하고 저장하고, 다시 Terminal로 exit 하자. Save and exit은 “s” 버튼을 누르면 됩니다.


이제 실제 Build하고 Install하는 과정입니다.
다시 Terminal Window에서

$ make

이런 화면이 흘러가면 잘 진행되고 있는 겁니다.

======================================
AKMini:asterisk-1.8.11.0 AllanMini$ make 
Generating embedded module rules ...
[CC] astcanary.c -> astcanary.o
[LD] astcanary.o -> astcanary
[CC] chan_bridge.c -> chan_bridge.o
[LD] chan_bridge.o -> chan_bridge.so
[CC] chan_iax2.c -> chan_iax2.o
[CC] iax2-parser.c -> iax2-parser.o
[CC] iax2-provision.c -> iax2-provision.o
[LD] chan_iax2.o iax2-parser.o iax2-provision.o -> chan_iax2.so
.....................................
======================================
이제 Asterisk Build Complete 이란 Message가 나오면 Compile에 성공한 겁니다.

 

 

이제 System에 설치하는 방법은,
$ sudo make install
password : 자기 system password를 입력합니다.

================================================
AKMini:asterisk-1.8.11.0 AllanMini$ sudo make install
Password:
/usr/bin/install -c -d "/Library/Application Support/Asterisk/Modules/modules"
/usr/bin/install -c -d "/usr/local/sbin"
/usr/bin/install -c -d "/usr/local/etc/asterisk"
/usr/bin/install -c -d "/Library/Application Support/Asterisk/Run"
/usr/bin/install -c -d "/var/spool/asterisk"
/usr/bin/install -c -d "/var/spool/asterisk/dictate"
/usr/bin/install -c -d "/var/spool/asterisk/meetme"
/usr/bin/install -c -d "/var/spool/asterisk/monitor"
/usr/bin/install -c -d "/var/spool/asterisk/system"
.........................................
================================================

마지막에 Asterisk Installation Complete 이란 화면이 나오면 드디어 성공한 겁니다!!!

 

 

이제 $make samples로 sample configuration 을 설치하고 Asterisk를 구동하면 됩니다.

Asterisk를 구동하는 방법은,
Asterisk를 설치한 폴더에서, $ cd main으로 이동해서,
$ sudo ./asterisk -vvvvc 라고 입력하면 됩니다.

Mac에서 System pop up 창이 다음과 같이 보이는데, “Allow”해서 실행하면 됩니다.

 

 

Asterisk Command Window 는 다음과 같습니다.

 

 

*CLI> dialplan show
라는 명령어를 입력하면, Sample로 설정되어 있는 Extension 들이 설명되어 있습니다.
또한,

*CLI> sip show peers
하면, 현재 Asterisk서버에 연결되어 있는 client의 현황을 볼 수 있습니다.

 

화면에서 보듯이 현재 설정된 SIP Client들에 대한 계정정보와 누가 online/offline상태인지를

보여주고 있습니다.

이제 마지막으로 가장 중요한, Asterisk server를 종료하는 방법은,
*CLI> core stop now
하면 됩니다.

*CLI> core stop now
Beginning asterisk shutdown....
Executing last minute cleanups
== Destroying musiconhold processes
Asterisk cleanly ending (0).


이제 당신의 맥은 강력한 PBX Server로서의 역할을 수행하게 될 것입니다.

- By Allan (현재 Unicoi Systems 한국지사장)



2 1