Journal of the Korea Institute of Information and Communication Engineering RasPBX 기반의 IP-PBX 시스템 정대진 송현옥 정회경 * IP-PBX System of RasPBX-Based Dae-Jin Jeong Hyun-Ok Song Hoe-kyung Jung * Department of Computer Engineering, Paichai University, Daejeon 302-735, Korea 요약 VoIP(Voice over Internet Protocol) 와 IP Telephony 기술이발전함에따라기존회선이아닌인터넷망을사용하여전화를사용하는 IP-PBX(Internet Protocol Private Branch Exchange) 의사용이증가하고있다. IP-PBX 는전화회선을사용하지않아전화업무가많은기업들과기관들의경영비용을절감할수있으며일반전화회선과유사한품질을제공한다. 하지만 IP-PBX 를도입하기위해선고가의하드웨어장비나상용소프트웨어를구매해야하는초기비용이필요하다. 본논문에서는고가의하드웨어장비나상용소프트웨어를구매하지않고 IP-PBX 를도입할수있는방안을제안한다. 제안하는 IP-PBX 는 Raspberry Pi 와 Asterisk 를사용하여 IP-PBX 서버를설계하고구현한다. 그리고구현된 IP-PBX 기반으로 PC 와스마트폰간의음성통화를실시하여논문의적합성을검증한다. ABSTRACT VoIP and IP Telephony telephony technology development is a growing by easy to using IP-PBX by using phone from using existing lines rather than the internet. IP-PBX do not use the phone line from phone work for many companies and institutions of management costs reduce as provides similar to regular phone line quality. But IP-PBX to introduce for need to be the initial cost on is should buy for expensive hardware equipment or commercial software. In this paper, suggest way to introduce IP-PBX do not buy expensive hardware equipment or commercial software. Suggest IP-PBX on designed and implement for IP-PBX server using Raspberry Pi and Asterisk. And verification treatise on the suitability of conducted by voice calls based on IP-PBX between PC and a Smartphone. 키워드 : Asterisk, Embedded Linux, IP-PBX, Raspberry Pi, VoIP Key word : Asterisk, Embedded Linux, IP-PBX, Raspberry Pi, VoIP Received 02 January 2015, Revised 17 January 2015, Accepted 30 January 2015 * Corresponding Author Hoe-Kyung Jung(E-mail:hkjung@pcu.ac.kr, Tel:+82-42-520-5640) Department of Computer Engineering, Paichai University, Daejeon 302-735, Korea Open Access http://dx.doi.org/10.6109/jkiice.2015.19.5.1131 print ISSN: 2234-4772 online ISSN: 2288-4165 This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/li-censes/ by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited. Copyright C The Korea Institute of Information and Communication Engineering.
Ⅰ. 서론초기의인류통신은직접마주보면서대화를하거나편지, 봉화등을사용하였다. 하지만이러한방법은많은제약과비효율적으로사용할수밖에없는문제점을가지고있다. 전화는기존의통신이가지고있던문제점을해결해주었지만통신자의거리나통화시간이증가할수록요금의부담이커지는문제점을갖고있다 [1]. 이러한문제점을해결하기위해기존전화회선대신네트워크망을사용하여음성통화를할수있는 IP-PBX(Internet Protocol Private Branch Exchange) 기술이주목받기시작하였다. 초기의 IP-PBX 기존회선통화에비해품질이열악하여사용자에게외면받았다. 하지만 VoIP(Voice over Internet Protocol) 와 IP Telephony 기술이발전함에따라 IP-PBX는다시주목받기시작하였다 [2,3]. 그러나 IP-PBX를도입하기위해선고가의하드웨어장비나상용소프트웨어를구매해야하는초기비용을요구하는문제점이있다. 본논문에서는저가의 Raspberry Pi와오픈소스인 Asterisk를사용하여 IP-PBX를구현하는방안을제안한다. 제안하는 IP-PBX를검증하기위해 PC와스마트폰간의음성통화를실시하여논문의적합성을검증한다. 표 1. Raspberry Pi 하드웨어사양 Table. 1 Raspberry Pi Hardware Specifications Feature Specification CPU 700MHz ARM 1176-JZFS GPU Broadcom VideoCore IV Memory 256MB LPDDR2-800 Video HDMI, Composite Audio HDMI, Stereo Analog USB 2 x USB 2.0 Storage SD Card Networking 10 / 100 Ethernet Power 5V micro USB Raspberry Pi는리눅스커널기반의운영체제를사용하며개발할때권장하는프로그래밍언어로는파이썬이지만다양한언어를사용하여구현할수있다. 2.2. Asterisk Asterisk는 Mark Spencer가설립한 Digium에서개발한 GPL 라이센스를가진오픈소스 PBX이다 [6,7]. Asterisk는리눅스와 MacOSX 환경에서 IP-PBX 기능과 Voice Mail이나 IVR, Fax 등의기능을제공한다 [8]. 그리고외부프로그램과연계하여사용할수있어확장성능이좋다. 그러나 Asterisk는소규모의데이터를제한적으로제공하며소규모로구성되어있는장소에서만사용할수있도록개발되었다. Asterisk의구조는그림 1과같다. Ⅱ. 관련연구 본장에서는 IP-PBX 구현에사용되는 Raspberry Pi 와 Asterisk, IP-PBX 시스템에대해기술한다. 2.1. Raspberry Pi Raspberry Pi는영국의 Raspberry 재단이교육용프로젝트일환으로개발한 ARM 기반의초소형컴퓨터이며기초과학교육과취미로사용할수있다 [4]. Raspberry Pi는브로드컴의 BCM 2835 시스템온칩 (SoC) 멀티미디어프로세서를탑재하고있으며그래픽프로세싱, 오디오, 통신유닛등이포함되어있다 [5]. 하지만하드디스크드라이브나 SSD 드라이브를내장하고있지않아 SD 카드를따로구매해야하는불편함을가지고있다. Raspberry Pi의하드웨어사양은표 1과같다. 그림 1. Asterisk 구조 Fig. 1 Asterisk Architecture Asterisk를사용하면 PBX 내부개념이필요없으며외부호출과스테이션포트를연결하여사용할수있어기존 PBX에비해설치와관리하기에는편리하다. 1132
RasPBX 기반의 IP-PBX 시스템 2.3. IP-PBX IP-PBX는전화회선대신네트워크망을사용하여음성또는영상을제공하는사설교환기이다 [9]. IP- PBX는 PSTN(Public Switched Telephone Network) 과연동하며 RJ-45 커넥터를통해스위치에연결된다. 그리고호처리와가입자수용, 부가서비스등의 PBX 기능을수행한다. IP-PBX의주요한기능은호처리이며전화를걸고받는데에사용되는것은시그널과미디어두가지형태의패킷이다 [10]. 시그널은발신자전화번호와수신자전화번호, 코덱, IP 주소등의모든전화를위한정보를담고있으며 SIP(Session Initiation Protocol), H323, MGCP(Media Gateway Control Protocol), SCCP (Signalling Connection Control Part) 등다양한종류가존재하고각각의용도와환경에맞게사용된다 [11]. 그리고미디어는정해진코텍으로인코딩된음성을 RTP(Real Time Protocol) 로전송하게된다. IP-PBX를사용하여통신하는과정은그림 2와같다. 그림 2. IP-PBX 기반의통신구조 Fig. 2 Communication Structure of IP-PBX Based Ⅲ. IP-PBX 설계와구현 본장에서는 Raspberry Pi와 Asterisk를사용하여 IP-PBX 시스템설계와구현방법에대해기술한다. 3.1. IP-PBX 시스템설계제안하는 IP-PBX는 Raspberry Pi와 Asterisk, Linphone, Linphone Video를사용하여구현한다. PC 환경에는 Linphone를설치하고스마트폰에서는 Linphone Video 를설치하여클라이언트로사용하고제안하는 IP-PBX 기반으로음성통화를할수있다. 그리고 IP-PBX에 070 번호를등록하면외부통화도사용할수있다. 제안하는 IP-PBX의전체구조는그림 3과같다. 그림 3. 제안하는 IP-PBX 구조 Fig. 3 Suggest IP-PBX Structure 3.2. IP-PBX 시스템구현 Raspberry Pi와 Asterisk, Linphone, Linphone Video 를사용하여 IP-PBX를구현방법의순서는다음과같다. 1. SD 카드에 RasPBX 이미지업로드 2. Raspberry Pi에 RasPBX 이미지가업로드되어있는 SD 카드와주변기기들을연결 3. Putty를사용하여 IP-PBX에원격으로접속하여 IP-PBX 환경설정 4. Linphone를사용하여제안하는 IP-PBX 기반으로음성통화를할수있는 PC 환경의클라이언트구현 5. Linphone Video를사용하여제안하는 IP-PBX 기반으로음성통화를할수있는스마트폰기반의클라이언트구현 클라이언트구현에사용된 PC는 HP ProBook 5330m 과윈도우 8를사용하였으며스마트폰클라이언트는 LG 옵티머스뷰 2를사용하였다. 그리고 IP-PBX에사용된운영체제는 RasPBX-31-07-2014를사용하였다. RasPBX는 Raspberry Pi 기반으로사용되는 Asterisk를최적화한운영체제이다. Raspberry Pi에 RasPBX 이미지를업로드하고부팅하는화면은그림 4와같다. Raspberry Pi에서로그인이정상적으로실행되는것을확인한뒤편한작업을위해 putty를사용하여원격으로접속하고구현을진행한다. Raspberry Pi는기본적으로시간을동기화되어있지않아예기치못한문제가발생할수있음으로정상적인작동을위해시간을설정해야한다. 시간을설정하는명령은 timezone이며명령이실행된화면은그림 5와같다. 1133
스마트폰에서는 Linphone Video를다운로드하고설치한다. 그리고 IP-PBX 기반으로음성통화를할수있게내선번호를등록한다. 그리고외부통화를가능하게하기위해 IP-PBX에 SIP 기반으로 Trunk를등록한다. IP-PBX 시스템구현이완료된화면은그림 7과같다. 그림 4. Raspberry Pi 부팅화면 Fig. 4 Raspberry Pi Booting Screen 그림 7. IP-PBX 시스템화면 Fig. 7 IP-PBX System Screen Ⅳ. 실험 그림 5. Time Zone 실행화면 Fig. 5 Time Zone Run Screen 인코딩설정을위해 dpkg-reconfigure locales 명령을실행하고 ko_kr.utf-8을선택하고저장한다. IP-PBX 환경설정은웹브라우저를통해접근할수있으며 SIP 의허용범위와보안설정, 영상설정등설정한뒤저장한다. 그리고 PC 클라이언트에사용되는 Linphone을다운로드하고설치한다. 윈도우 8에서 Linphone에내선번호가성공적으로등록된화면은그림 6과같다. 본장에서는구현한 IP-PBX 기반으로 PC 클라이언트와스마트폰에서음성통화를하는방법에대해기술한다. 4.1. PC에서스마트폰으로통신윈도우 8에서는 Linphone 다이얼패드를사용하여음성통화를사용할수있다. 그림 6. Linphone 내선번호등록완료 Fig. 6 Linphone Registered Extensions 그림 8. Linphone 에서음성통화중인화면 Fig. 8 Voice Call Screen from Linphone 1134
RasPBX 기반의 IP-PBX 시스템 그림 8은 Linphone를사용하여스마트폰에설치되어있는 Linphone Video과음성통화를하고있는화면이다. 구현한 IP-PBX를사용하여외부통화도할수있다. 그림 9는 Linphone를사용하여 Linphone Vedio가설치되어있지않은외부스마트폰으로음성통화를하고있는화면이다. 그림 11. Linphone Video 에서음성통화중인화면 Fig. 11 Voice Call Screen from Linphone Video Ⅴ. 결론 그림 9. Linphone 에서외부로음성통화중인화면 Fig. 9 Voice Call Screen by Out from Linphone 4.2. 스마트폰에서 PC로통신스마트폰에서는 Linphone Video를사용하여음성통화를사용할수있다. Linphone Video에서 PC로음성통화를하는화면은그림 10과같다. 그림 10. Linphone Video 에서 PC 로음성통화를시도하는화면 Fig. 10 Try a Voice Call Screen by PC from Linphone Video Linphone Video에서 PC와음성통화가연결되는화면은그림 11과같다. Linphone과 Linphone Video간은통화에서는무료로사용할수있다. 회선기반의음성통화보다품질이열악했던 IP 기반의 PBX는 IT 기술이발전하고네트워크가개선되어다시사용자에게주목받기시작했다. IP-PBX는기존의회선망과네트워크망을혼합하여사용할수있어사용제한을받지않는다. 또한, 통화대상이먼거리에있거나장시간으로통화를하여도기존의회선기반의음성통화요금에비해저렴하거나무료로사용할수있다. 하지만 IP-PBX를도입하기위해선고가의하드웨어장비나상용소프트웨어를구매해야하는문제점이있었다. 본논문에서는고가의하드웨어장비나상용소프트웨어를구매하지않고저가의 Raspberry Pi와오픈소스인 Asterisk를사용하여 IP-PBX를구현하는방안에대해제안했다. 그리고클라이언트도오픈소스인 Linphone과 Linphone Video를사용하여추가개발없이음성통화를사용할수있는방안에대해서도제안했다. 또한, 논문의적합성을검증하기위해 PC와스마트폰에서구현한 IP-PBX 기반으로음성통화를실시하였으며 IP-PBX 기반으로외부음성통화도실시하여논문의적합성을검증하였다. 향후연구로는구현한 IP-PBX의문제점인제한된소규모에서만기능이지원되는문제점을보완하는연구를진행할계획이다. 1135
REFERENCES [ 1 ] Do-Hoon Kim, "Voice over IP, Its Visions and Market Analysis." The Korean Journal of the Information Society, Vol.12, pp.63-84, 2007.12. [ 2 ] Guha, Saikat, and Neil Daswani, An experimental study of the skype peer-to-peer voip system. Cornell University, 2005. [ 3 ] Olivier. Hersent, IP telephony: deploying VoIP protocols and IMS infrastructure. John Wiley & Sons, 2011. [ 4 ] Upton, Eben, and Gareth Halfacree, Raspberry Pi user guide. John Wiley & Sons, 2013. [ 5 ] Upton, Eben, and Gareth Halfacree, Meet the Raspberry Pi. John Wiley & Sons, 2012. [ 6 ] Van Meggelen, Jim, Leif Madsen, and Jared Smith, Asterisk: the future of telephony. O'Reilly Media, 2007. [ 7 ] Qadeer, Mohammed A., and Ale Imran, Asterisk voice exchange: An alternative to conventional EPBX. IEEE Computer and Electrical Engineering, 2008. [ 8 ] J. Penton and A. Terzoli, Asterisk: A converged tdm and packet-based communications system. Proceedings of SATNAC 2003-Next Generation Networks, 2003. [ 9 ] Allan. Sulkin, PBX Systems for IP Telephony: Migrating Enterprise Communications." McGraw-Hill Professional, 2001. [10] Yoon-Su Jeong, Yong-Tae Kim, Gil-Cheol Park, "Design of IP-PBX Media Service Platfrom with Low Cost." JKIIT, Vol.9, No.6, 2011.6 [11] Zhu, Jianfeng, et al., Realization of Extended Functions of SIP-Based IP-PBX. IEEE Education Technology and Computer Science (ETCS), Vol. 3, 2010. 정대진 (Dae-Jin Jeong) 1998 년우송대학교컴퓨터과학과 ( 공학사 ) 2015 년배재대학교컴퓨터공학과 ( 공학석사 ) 2015 년 ~ 현재배재대학교컴퓨터공학과박사과정 2000 년 ~ 2007 년특허청데이터관리센터운영 2008 년 ~ 2011 년정부통합전산센터정보시스템운영 2014 년 ~ 현재 ( 주 ) 리얼타임테크컨설팅지원본부 관심분야 : 인터넷방송시스템, 화상회의, 모바일비즈니스 송현옥 (hyun-ok Song) 1988 년 ~ 1992 년충남대학교불어불문학학사 1992 년 ~ 2001 년대전교차로신문사근무 1999 년 ~ 2001 년한남대학교사회복지학과석사 2001 년 ~ 2012 년다솜소프트대전지사장 2002 년 ~ 2015 년현재다솜정보대표 2015 년 ~ 현재배재대학교컴퓨터공학과박사과정 관심분야 : AR 및 VR, 3D 등 정회경 (Hoe-Kyung Jung) 1985 년광운대학교컴퓨터공학과 ( 공학사 ) 1987 년광운대학교컴퓨터공학과 ( 공학석사 ) 1993 년광운대학교컴퓨터공학과 ( 공학박사 ) 1994 년 ~ 현재배재대학교컴퓨터공학과교수 관심분야 : 멀티미디어문서정보처리, XML, SVG, Web Services, Semantic Web, MPEG-21, Ubiquitous Computing, USN, IoT 1136