행복한 아빠

Install kamailio (SIP open source server) 본문

잡다한기록

Install kamailio (SIP open source server)

행복한아빠 2016. 9. 7. 10:30




어쩌다가 VoIP에 관심이 생겨 SIP 서버 중 open source 찾아 정리합니다.

설치하다 보니 OpenSips와 거의 동일한 것 같아 같은 코드베이스에서 나온 게 아닌가 하는 추측을 합니다.




Basic infomations


DB는 MySQL을 사용하는 걸로...


Prerequisite


APT로 설치하려고 하기에 apt repository 작업이 선행되어야 합니다.


DEB Packages


First download and add our GPG key to your apt key list:

prompt > apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xfb40d3e6508ea4c8


add to below lines to /etc/apt/sources.list

deb http://deb.kamailio.org/kamailio jessie main

deb-src http://deb.kamailio.org/kamailio jessie main


libmysqlclient-dev Package

prompt > gpg --keyserver  hkp://keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A

prompt > gpg -a --export CD2EFD2A | apt-key add -

prompt > sh -c 'echo "deb http://repo.percona.com/apt precise main" >> /etc/apt/sources.list.d/percona.list'



Install 


prompt > apt-get update

prompt > install mysql-server

prompt > apt-get install libmysqlclient-dev

prompt > apt-get install kamailio kamailio-mysql-modules



Configurations



/etc/kamailio/kamctlrc

아래 부분만 수정 or 주석제거

  • SIP_DOMAIN=SIP 주소에서 사용하는 domain. 서버 내부 IP 아님!
  • DBENGINE=MYSQL
  • DBHOST=localhost
  • DBNAME=kamailio
  • DBRWUSER="kamailio" (계정은 자동으로 생성되어 있음)
  • DBRWPW="kamailiorw"
  • DBROUSER="kamailioro"
  • DBROPW="kamailioro"
  • DBACCESSHOST=localhost
  • DBROOTUSER="root"
  • USERCOL="username"

/etc/kamailio/kamailio.cfg

add below lines at first line

#!define WITH_MYSQL

#!define WITH_AUTH

#!define WITH_USRLOCDB


다음 항목 수정

listen=udp:<server private ip>:5060 advertise <server public ip>:5060

port=5060



Run



Create DB

prompt > kamdbctl create


Start and Stop

prompt > /etc/init.d/kamailio start

prompt > /etc/init.d/kamailio stop


Adding Subscribers


Using kamctl

Kamailio 설치후 생기는 관리 명령어입니다.

prompt > kamctl add userid password


Using SQL

INSERT INTO subscriber (username, domain, password, ha1, ha1b) VALUES 

  ('101', 'test.com', 'test123',

  MD5('101:test.com:test123'), MD5('101@test.com:test.com:test123')

);

  • ha1 = md5(username:realm:password)
  • ha1b = md5(username@domain:realm:password)


Open ports

  • TCP 5060
  • UDP 5060

스택오버플로우에게 감사를...

0 Comments
댓글쓰기 폼