使用OpenSips1.9搭建Sip服务器
2014-02-19 13:43
399 查看
Sip有很多服务端可以用,miniSipServer ,sipServer等等。如果只是做简单的测试用,可以直接下载minisipserver
1、安装好Mysql数据库
2、在opensips官方网站(http://opensips.org/)下载OpenSips1.9的源码
3、解压编译安装(安装过程中有很多命令需要用root权限。所以建议使用root角色进行操作。sudo -i)
$ make menuconfig
进入configure compile Options选择 Configure Install Prefix设置路径。
返回,选择编译并安装OpenSips,耐心等待2分钟,编译完成后会在设置的目录下生成一个opensips_proxy目录。这是OpenSips的安装目录。
4、修改/usr/local/opensips_proxy/etc/opensips/opensipsctlrc配置如下(只是打开了一些注释,其他的都不改变):
5、修改/usr/local/opensips_proxy/etc/opensips/opensips.cfg配置文件,部分修改的配置项,其他的不动
6、设置启动项
#cp /home/tang/sip/opensips-1.9/packaging/debian/opensips.init /etc/init.d/opensips
#chmod +x /etc/init.d/opensips
修改/etc/init.d/opensips如下(部分):
7、设置默认项opensips.default
# cp /home/tang/sip/opensips-1.9/packaging/debian/opensips.default /etc/default/opensips
修改/etc/default/opensips如下(部分修改的地方)
8、创建数据库
root@pc:/usr/local/opensips_proxy/sbin# ./opensipsdbctl create
MySQL password for root:
INFO: test server charset
INFO: creating database opensips ...
INFO: Core OpenSIPS tables succesfully created.
Install presence related tables? (y/n): n
Install tables for imc cpl siptrace domainpolicy carrierroute userblacklist registrant? (y/n): n
9、添加用户
root@pc:/usr/local/opensips_proxy/sbin# ./opensipsctl add 1001 1001
new user '1001' added
用户将添加到subscriber表中
10、操作过程中的其他命令
root@ubuntu:/etc/init.d/opensips restart(重启)
root@ubuntu:/etc/init.d/opensips start(启动)
root@ubuntu:ps aux | grep opensips(查看进程)
root@ubuntu:netstat -ulpn|grep opensips(查看UDP链接状态)
root@ubuntu:netstat -utpn|grep opensips(查看TCP链接状态)
检查配置是否正确:opensips -c
如果在这个过程中出现其他错误,可以开启两个终端,通过命令:tail -f /var/log/syslog进行查看。
服务器的所有配置完成,可以自己下载一些sip源码或者直接下载现有的sip软件进行测试了。
具体的操作请查看官方文档
原创文章,转载请注明出处:http://blog.csdn.net/tangcheng_ok
1、安装好Mysql数据库
2、在opensips官方网站(http://opensips.org/)下载OpenSips1.9的源码
3、解压编译安装(安装过程中有很多命令需要用root权限。所以建议使用root角色进行操作。sudo -i)
$ make menuconfig
进入configure compile Options选择 Configure Install Prefix设置路径。
返回,选择编译并安装OpenSips,耐心等待2分钟,编译完成后会在设置的目录下生成一个opensips_proxy目录。这是OpenSips的安装目录。
4、修改/usr/local/opensips_proxy/etc/opensips/opensipsctlrc配置如下(只是打开了一些注释,其他的都不改变):
## your SIP domain SIP_DOMAIN=192.168.1.43 #服务器的ip地址,使用ifconfig命令查看 ## chrooted directory # $CHROOT_DIR="/path/to/chrooted/directory" ## database type: MYSQL, PGSQL, ORACLE, DB_BERKELEY, or DBTEXT, ## by default none is loaded # If you want to setup a database with opensipsdbctl, you must at least specify # this parameter. DBENGINE=MYSQL ## database host DBHOST=localhost ## database name (for ORACLE this is TNS name) DBNAME=opensips # database path used by dbtext or db_berkeley # DB_PATH="/usr/local/etc/opensips/dbtext" ## database read/write user DBRWUSER=opensips ## password for database read/write user DBRWPW="opensipsrw" ## database super user (for ORACLE this is 'scheme-creator' user) DBROOTUSER="root"
5、修改/usr/local/opensips_proxy/etc/opensips/opensips.cfg配置文件,部分修改的配置项,其他的不动
####### Global Parameters ######### debug=3 log_stderror=no #设置日志打印到单独的文件中 # root@ubuntu:vim /etc/rsylog.conf # 在最后面添加代码 # local1.* -/var/log/opensips.log # 最后重启日志 # root@ubuntu:/etc/init.d/rsyslog restart # 日志即配置完成。 log_facility=LOG_LOCAL1 fork=yes children=4 /* uncomment the following lines to enable debugging */ #debug=6 #fork=no #log_stderror=yes /* uncomment the next line to enable the auto temporary blacklisting of not available destinations (default disabled) */ #disable_dns_blacklist=no /* uncomment the next line to enable IPv6 lookup after IPv4 dns lookup failures (default disabled) */ #dns_try_ipv6=yes /* comment the next line to enable the auto discovery of local aliases based on revers DNS on IPs */ auto_aliases=no #添加TCP/UDP监听配置 listen=udp:192.168.1.43:5060 # CUSTOMIZE ME disable_tcp=no listen=tcp:192.168.1.43:5060 # CUSTOMIZE ME disable_tls=yes ####### Modules Section ######## #set module path 设置模块路径,这里一定是绝对路径。 mpath="/usr/local/opensips_proxy/lib64/opensips/modules/" #### SIGNALING module loadmodule "signaling.so" #### StateLess module loadmodule "sl.so" #### Transaction Module loadmodule "tm.so" modparam("tm", "fr_timer", 5) modparam("tm", "fr_inv_timer", 30) modparam("tm", "restart_fr_on_each_reply", 0) modparam("tm", "onreply_avp_mode", 1) #### Record Route Module loadmodule "rr.so" /* do not append from tag to the RR (no need for this script) */ modparam("rr", "append_fromtag", 0) #### MAX ForWarD module loadmodule "maxfwd.so" #### SIP MSG OPerationS module loadmodule "sipmsgops.so" #### FIFO Management Interface loadmodule "mi_fifo.so" modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo") modparam("mi_fifo", "fifo_mode", 0666) #### URI module loadmodule "uri.so" modparam("uri", "use_uri_table", 0) #必须添加 modparam("uri", "db_url", "mysql://opensips:opensipsrw@localhost/opensips") # CUSTOMIZE ME #### MYSQL module 添加Mysql模块支持 loadmodule "db_mysql.so" #### USeR LOCation module loadmodule "usrloc.so" modparam("usrloc", "nat_bflag", "NAT") modparam("usrloc", "db_mode", 2) modparam("usrloc", "db_url", "mysql://opensips:opensipsrw@localhost/opensips") # CUSTOMIZE ME #### REGISTRAR module loadmodule "registrar.so" modparam("registrar", "tcp_persistent_flag", "TCP_PERSISTENT") /* uncomment the next line not to allow more than 10 contacts per AOR */ #modparam("registrar", "max_contacts", 10) #### ACCounting module loadmodule "acc.so" /* what special events should be accounted ? */ modparam("acc", "early_media", 0) modparam("acc", "report_cancels", 0) /* by default we do not adjust the direct of the sequential requests. if you enable this parameter, be sure the enable "append_fromtag" in "rr" module */ modparam("acc", "detect_direction", 0) modparam("acc", "failed_transaction_flag", "ACC_FAILED") /* account triggers (flags) */ modparam("acc", "log_flag", "ACC_DO") modparam("acc", "log_missed_flag", "ACC_MISSED")
6、设置启动项
#cp /home/tang/sip/opensips-1.9/packaging/debian/opensips.init /etc/init.d/opensips
#chmod +x /etc/init.d/opensips
修改/etc/init.d/opensips如下(部分):
PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/opensips_proxy/sbin/opensips NAME=opensips DESC=opensips HOMEDIR=/var/run/opensips PIDFILE=$HOMEDIR/$NAME.pid DEFAULTS=/etc/default/opensips RUN_OPENSIPS=no # Do not start opensips if fork=no is set in the config file # otherwise the boot process will just stop check_fork () { if grep -q "^[[:space:]]*fork[[:space:]]*=[[:space:]]*no.*" /usr/local/opensips_proxy/etc/opensips/opensips.cfg; then echo "Not starting $DESC: fork=no specified in config file; run /etc/init.d/opensips debug instead" exit 1 fi }
7、设置默认项opensips.default
# cp /home/tang/sip/opensips-1.9/packaging/debian/opensips.default /etc/default/opensips
修改/etc/default/opensips如下(部分修改的地方)
# Set to yes to enable opensips, once configured properly. RUN_OPENSIPS=yes # User to run as USER=opensips # Group to run as GROUP=opensips # Amount of shared memory to allocate for the running OpenSIPS server (in Mb) S_MEMORY=128 # Amount of pkg memory to allocate for the running OpenSIPS server (in Mb) P_MEMORY=4
8、创建数据库
root@pc:/usr/local/opensips_proxy/sbin# ./opensipsdbctl create
MySQL password for root:
INFO: test server charset
INFO: creating database opensips ...
INFO: Core OpenSIPS tables succesfully created.
Install presence related tables? (y/n): n
Install tables for imc cpl siptrace domainpolicy carrierroute userblacklist registrant? (y/n): n
9、添加用户
root@pc:/usr/local/opensips_proxy/sbin# ./opensipsctl add 1001 1001
new user '1001' added
用户将添加到subscriber表中
10、操作过程中的其他命令
root@ubuntu:/etc/init.d/opensips restart(重启)
root@ubuntu:/etc/init.d/opensips start(启动)
root@ubuntu:ps aux | grep opensips(查看进程)
root@ubuntu:netstat -ulpn|grep opensips(查看UDP链接状态)
root@ubuntu:netstat -utpn|grep opensips(查看TCP链接状态)
检查配置是否正确:opensips -c
如果在这个过程中出现其他错误,可以开启两个终端,通过命令:tail -f /var/log/syslog进行查看。
服务器的所有配置完成,可以自己下载一些sip源码或者直接下载现有的sip软件进行测试了。
具体的操作请查看官方文档
原创文章,转载请注明出处:http://blog.csdn.net/tangcheng_ok
相关文章推荐
- centos6.4下无法mount ntfs格式的移动硬盘的解决方法
- 主流Linux操作系统任你挑:安装配置入门
- Linux调试工具
- 关于使用PopupWindow
- 监控 Linux 性能的 18 个命令行工具
- CUGB图论专场2:G - Going from u to v or from v to u?单连通判断(Tarjan+Topsort)
- nginx操作cookie使测试IP不写入access.log
- BZOJ 1798: [Ahoi2009]Seq 维护序列seq
- centos6调整挂载分区大小的方法 home修改小
- Nginx+uWSGI+Django方法部署Django程序
- 事务使用中如何避免误用分布式事务(System.Transactions.TransactionScope)
- 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书
- CentOS编译安装NodeJS+Express
- [整理]Linux文件类型与ubuntu(LinuxMint)终端中文件颜色的含义
- 理解 Linux 配置文件
- 502 Bad Gateway错误
- 【137】Photoshop相关功能
- 使用LDAP(ApacheDS)构建统一认证服务(SSO单点登录)
- Linux内存初始化:bootmem到buddy的过渡
- 国产操作系统厂商 中科红旗Linux进入清算程序