한국어

소프트스위치

온누리070 플레이스토어 다운로드
    acrobits softphone
     온누리 070 카카오 프러스 친구추가온누리 070 카카오 프러스 친구추가친추
     카카오톡 채팅 상담 카카오톡 채팅 상담카톡
    
     라인상담
     라인으로 공유

     페북공유

   ◎위챗 : speedseoul


  
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


Installation and configuration process record opensips


http://www.cnblogs.com/bjzhanghao/archive/2013/02/13/2910903.html

In this paper, the operating system is CentOS, used Opensips version 1.8.2.

Update2013 / 6/27: Version 1.9.1 has been validated, download address for http://opensips.org/pub/opensips/latest/src/opensips-1.9.1_src.tar.gz

Install CentOS

(If there is such environments can skip this step)

1, the installation of virtual machines, VMWare Server 2.0 has encountered a problem can not display console (Chrome li), for the Virtualbox 4.2 for normal use;

2, install CentOS 6.3 in a virtual machine, select the type of standard server installation.

This pure command line interface for a virtual machine, you can use telnet direct access, what's more convenient operation clipboard;

If the virtual machine does not start automatically mapped network card, start with ifup eth0 command.

If (Virtualbox's) virtual machine is copied, you may need to remove /etc/udev/rules.d/70-persistent-net.rules, then modify the / etc / sysconfig / network-scripts / ifcfg-eth0 in the HWAddr address.

If you need to configure the network card ip address, the first device ifconfig -a view card number and MAC address, and then edit the / etc / sysconfig / network-scripts / ifcfg-eth0 file, the following examples:

  DEVICE = "eth0" 
  BOOTPROTO = "none" 
  HWADDR = "08: 00: 27: 81: 30: F4" 
  NM_CONTROLLED = "yes" 
  ONBOOT = "yes" 
  TYPE = "Ethernet" 
  UUID = "dcd43c45-adf4-480b-b461-179ee8d2e8d6" 
  IPADDR = 192.168.1.120 
  NETMASK = 255.255.255.0 
  GATEWAY = 192.168.1.1 

Dns designated for installation packages in /etc/resolv.conf (CentOS6 dns can be specified in the ifg-eth0 after a)

 nameserver 202.181.202.140 nameserver 208.67.220.220 

Installation Opensips (according to official Tutorial video finishing the main steps)

opensips provides a video tutorial ( this page has a download link, 90M), recommend using menuconfig way, more convenient and not prone to error. The following is a summary of steps:

yum install gcc make 
yum install flex bison ncurses libncurses-dev ncurses-devel 
yum install mysql mysql-server mysql-libs mysql-devel

wget http://opensips.org/pub/opensips/1.8.2/src/opensips-1.8.2_src.tar.gz 
tar zxvf opensips-1.8.2_src.tar.gz 
cd opensips-1.8.2-tls 

make menuconfig (tick db_mysql, others do not move) 
Menu, choose "Compile And Install Opensips" 
Exit menuconfig

vi / usr / etc / opensips / opensipsctlrc, comments relating to the mysql remove (DB_PATH and USERCOL reserved comments) 
service mysqld start 
opensipsdbctl create (two issues have prompted the election no) 
osipsconfig (select ENABLE_TCP, USE_AUTH, USE_DBACC, USE_DBUSERLOC, USE_DIALOG, then generate residential script) 
By replacing the original opensips.cfg generated opensips_residential_xxx.cfg

vi /usr/etc/opensips/opensips.cfg (change the listen address and mpath, which is usually / usr / lib / opensips / modules) 
opensipsctl start (netstat -anp check port) 
service iptables stop (turn off the firewall)

If an error when starting opensips, check / var / log / messages (if opensips.cfg set log_stderror = no in the logs have entered this file, link ), is generally caused by the module parameters are not set. Such as those found in the log in "ERROR: uri: db_checks_fixup1: configuration error - no database URL is configured!", In opensips.cfg where "loadmodule" uri.so "" After adding modparam ("uri", "db_url", "mysql: // opensips: opensipsrw @ localhost / opensips") can be.

Create a test user:

opensipsctl add 101 101

If you are prompted to create a user "ERROR: domain unknown: use usernames with domain or set default domain in SIP_DOMAIN", you can modify opensipsctlrc file SIP_DOMAIN set the machine name or IP address.

Further configuration Opensips

Set the log output

In opensips.cfg there are several parameters to control the log output:

debug = 3 # This value controls the log output level of detail, three ordinary, 4 for details (will generate a lot of logs). 
log_stderror = no # set to no, said the log output to a file, otherwise the output to the console (foreground should be based only way to start opensips service useful). 
log_facility = LOG_LOCAL0 # should be used in the configuration file syslog services produced in distinguishing log opensips (see below "Use a separate log file"). 
fork = yes # set to yes indicates start opensips service in the background, is set to start at the front desk said no.

Use a separate log file

opensips using the syslog service, so by default logs into the / var / log / message file, if you want to use a separate log file, it can be set up:

touch /var/log/opensips.log 
vi /etc/rsyslog.conf -> add a line: local0 * /var/log/opensips.log. 
/etc/init.d/rsyslog restart

Configuring STUN module

opensips comes with a stun module can achieve stun server functionality (requires dual-NIC). Configuration method is very simple ( official documents ), add the following in opensips.cfg in:

#### STUN module 
loadmodule "stun.so" 
modparam ("stun", "primary_ip", "11.22.33.44") ip address #opensips server 
modparam ("stun", "primary_port", "5060") # must opensips the same udp port (usually 5060) 
modparam ("stun", "alternate_ip", "55.66.77.88") # ip address to another NIC 
modparam ("stun", "alternate_port", "3479") # another port number

After configured stun, you can use the stun-client to test to the windows, for example, to test the command is:

stun-client-0-96.exe 11.22.33.44:5060 -v

Installation and Configuration RTPProxy module

rtpproxy module is typically used with nathelper module. First, make sure that the server has been installed rtpproxy, start rtpproxy:

rtpproxy -F

Then do the following configuration in opensips.cfg file:

loadmodule "rtpproxy.so" 
modparam ("rtpproxy", "rtpproxy_sock", "unix: /var/run/rtpproxy.sock") # CUSTOMIZE ME

Installation and Configuration MediaProxy module

MediaProxy official documentation links

An installation MediaProxy2.5.2 in CentOS6 reference links .

Download mediaproxy source code (and various dependencies needed), and install (process omitted). After the installation is complete:

Copy the config.ini.sample to /etc/mediaproxy/config.ini, the tls directory is also copied.

echo 1> / proc / sys / net / ipv4 / ip_forward

media-dispatcher restart

media-relay restart

Configuring mediaproxy module opensips.cfg years, as follows:

#### MediaProxy module 
loadmodule "mediaproxy.so" 
modparam ("mediaproxy", "disable", 0) 
#modparam ("mediaproxy", "mediaproxy_socket", "/var/run/mediaproxy/dispatcher.sock") 
modparam ("mediaproxy", "mediaproxy_timeout", 500) 
modparam ("mediaproxy", "signaling_ip_avp", "$ avp (nat_ip)") 
modparam ("mediaproxy", "media_relay_avp", "$ avp (media_relay)")

If mediaproxy prompt "No suitable relay found", may be the problem certification aspects. Reference Links

(Unfinished)

Crawl SIP package

Use tcpdump on Opensips where the server can grab SIP package to analyze a problem (note to crawl card is eth0 or eth1):

tcpdump -nqt -s 0 -A -i eth0 port 5060 -w /home/capture_file_name.pcap

Reference: http://jonathanmanning.com/2009/10/26/how-to-voip-sip-Capture-with-tcpdump-on-linux/

Grasp the package on the phone a little more complicated, first root the phone, and then copy to your phone using tcpdump:

adb shell 
su 
tcpdump -nqt -s 0 -w /sdcard/packets_xx.pcap 
adb pull /sdcard/packets_xx.pcap

For details, please refer to this article .

Install opensips-cp

Compressed package from the sourceforge download opensips-cp source code, which accompanied the document named INSTALL recommended for installation in accordance with this document, some information can be found online is often outdated or inaccurate.

yum install httpd php php-mysql php-xmlrpc php-pear

pear install MDB2 
pear install MDB2 # mysql 
pear install MDB2 # mysqli 
pear install log

In /etc/php.ini in: 
The short_open_tag set to On 
The / usr / share / pear added inculde_path variable (some tutorials written plus / usr / share / php, the actual inspection to add / usr / share / pear)

wget http://sourceforge.net/projects/opensips-cp/files/opensips-cp/5.0/opensips-cp_5.0.tgz/download

tar -zxvf opensips-cp_5.0.tgz

The file unzipped folder (the name is generally "5.0") copied to the / var / www directory and renamed opensips-cp

vi /etc/httpd/conf/httpd.conf, add the following line:

Alias ​​/ cp "/ var / www / opensips-cp / web"

chown apache: apache /var/www/opensips-cp/config/access.log (If other versions of linux, user name may be www-data, or other)

(With source code included with the installation documentation INSTALL little read, postgresql and mysql should be a second election.)

Install the necessary admin:

cd / var / www / opensips-cp / config / tools / admin / add_admin /

mysql -Dopensips -p <ocp_admin_privileges.mysql

mysql -uroot opensips into the mysql command line, execute the following command to add an administrator user:

INSERT INTO ocp_admin_privileges (username, password, ha1, available_tools, permissions) values ​​('admin', 'admin', md5 ('admin: admin'), 'all', 'all');

Installation cdrviewer:

cd / var / www / opensips-cp / config / tools / system / cdrviewer /

mysql -Dopensips -p <cdrs.mysql

mysql -Dopensips -p <opensips_cdrs.mysql

cd / var / www / opensips-cp / cron_job

vi generate-cdrs_mysql.sh (fill in your database connection information)

Note, generate-cdrs_mysql.sh in this file "call opensips_cdrs_1_6 ()" may have to be changed to "call opensips_cdrs ()", the name must be consistent with the opensips_cdrs.mysql in the definition.

vi / etc / crontab (add timing tasks, such as once every third of the clock: * / 3 * * * * root /var/www/opensips-cp/cron_job/generate-cdrs_mysql.sh)

Installation smonitor:

cd / var / www / opensips-cp / config / tools / system / smonitor / (INSTALL document has a typo here, here has been corrected)

mysql -Dopensips -p <tables.mysql

vi / etc / crontab (add timing tasks, such as once per minute: * * * * * root php /var/www/opensips-cp/cron_job/get_opensips_stats.php> / dev / null)

Installation add_user:

(Front has been installed over the ocp_admin_privileges.mysql, there should be no need to do it again, a lot of small problems INSTALL document)

Start opensips-cp:

service mysqld start

service httpd start

Open a browser to access http://xxx.xxx.xxx.xxx/cp/ should see the login screen, admin user logs in with a previously created.

To be continued ..

Other useful links

Opensips official forum

About sip and sip client

Best practices for SIP NAT traversal

Some problems and solutions

Stay connected to the server: Use nat_traversal or nathelper module (based on discussion groups where some posts, features two modules are almost identical), so opensips each period of time to send a packet to the client, making the port mapping on the router will remain (ie, the hole remains open). When the client should be able to see these sip capture packets from the server, usually the name of OPTIONS.

After the client receives no INVITE command RING: very strange question, but I am here from time to time occur, the client program for Boghe v2.0.153.836, yet did not find the causes and solutions.

Routers modify SIP package: use Volans VE602W as a router, REGISTER bag sent from the client Via field will be adapted to the public network address, resulting in opensips server determines whether from within the network (nat_traversal module nat_client_test method) fails, the other three routers (TPLink, Mercury and Buffalo does not happen). No find a solution. Here there is a similar problem.

Client receives duplicate OPTIONS message: due to repeated login to opensips (through different routers), Opensips sometimes send multiple OPTIONS contracted clients until the server assumes that the client has dropped. If the client Contact field REGISTER message to add the expires = xxx, the server will record the client time to failure in location table, if this time is very long, the server will always try to connect to the client.

Sometimes there is no video screen after turning: encountered such a problem: call ten times, every time is turned on, but sometimes there is no screen. Later found to be a server firewall banned some ports (with iptables --list INPUT inquiry found that the server allows only udp 35000 ~ 50000 to enter). The workaround is to specify the port range starts rtpproxy, for example rtpproxy -m 40000 -M 50000 -F.

Contact URI field is not changed public IP: by increasing the debug information found that although fix_nated_contact () method has been called, but the server sends back a sip bag Contact URI in the internal network address and has not been replaced with a public address. The company does not have this problem at home have this problem (replacement router is invalid), temporarily did not find the reason. (Correction: The question itself is wrong, it should be observed 200OK messages returned from the server, rather than the server receives the original message)

One-way voice / video or audio only able to dial: SIP packet length may be beyond the MTU value of network equipment under the UDP protocol, if the client can not handle long SIP package (generally those with the SDP SIP message, the SIP message and generate a video request to be larger than the audio request), the excess portion may be discarded, causing the server to transmit / receive a SIP packet failure. Solution: 1) switch to the TCP protocol; 2) streamlining the SIP packet size, some clients generated SIP package with unnecessary fields can be deleted (if we can custom develop it), there is an additional reference links ; 3 ) supports long UDP packet is relatively small package or SIP client (I use the boghe based doubango do this part is not very good , for use after x-lite find many small same request SIP packet length: 18xx vs 10xx ).

Clear Online users: Use opensipsctl ul rm id can delete an online user, will cause duplicate records within a user when multiple logins period of time, then may need to clear out the online status of the user.

posted @ 2013-02-13 19:51 octal reading (...) Comments (...) edit collections
조회 수 :
96179
등록일 :
2014.08.09
15:42:47 (*.160.88.200)
엮인글 :
http://webs.co.kr/index.php?document_srl=190319&act=trackback&key=dda
게시글 주소 :
http://webs.co.kr/index.php?document_srl=190319
List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜sort
141 opensips configuration config explain easy basic 오픈쉽스 컨피그레이션 기본 설명 file admin 22854   2017-12-07
 
140 openssl 을 이용한 인증서 생성 절차를 정리한다. 개인키 CSR SSL 인증서 파일 생성 admin 24666   2017-09-14
 
139 Documentation -> Tutorials -> TLS opensips.cfg admin 25701   2017-09-14
 
138 Using TLS in OpenSIPS v2.2.x admin 45675   2017-09-14
 
137 opensips tls cfg admin 30647   2017-09-14
 
136 How to setup a Jabber / XMPP server on Debian 8 (jessie) using ejabberd admin 125171   2017-09-13
 
135 SIP to XMPP Gateway + SIP Presence Server opensips admin 52978   2017-09-13
 
134 OpenSIPS command line tricks admin 45854   2017-09-13
 
133 Fail2Ban Freeswitch How to secure admin 62118   2017-09-12
 
132 opensips.cfg. sample admin 24905   2017-09-12
 
131 Advanced SIP scenarios with Event-based-Routing admin 34129   2017-09-11
 
130 PUSH SERVER 푸시서버 안드로이드 애플 admin 209695   2017-09-11
 
129 오픈소스 (사내)메신저 서버 구축, 오픈 파이어(openfire) 설치방법과 세팅(리눅스 기준) admin 73482   2017-09-09
 
128 rtpengine config basic and opensips configuration and command admin 54229   2017-09-06
 
127 WebSocket Transport using OpenSIPS configuration 웹 소켓 컨피그레이션 기본 admin 21794   2017-09-06
 
126 OpenSIPS basic configuration script 기본 컨피그 admin 106293   2017-09-05
 
125 rtpengine install and config admin 59275   2017-09-05
 
124 Installing RTPEngine on Ubuntu 14.04 admin 33015   2017-09-05
 
123 compile only the textops module make modules=modules/textops modules admin 19958   2017-09-05
 
122 opensips command /sbin/opensipsctl detail admin 126071   2017-09-04
 
121 2017 08 31 opensips 2.32 install debian8.8 module install compile err modules admin 43049   2017-09-04
 
120 Build-Depends debian 8.8 opensips 2.3 admin 65323   2017-09-04
 
119 What is new in 2.3.0 opensips admin 246656   2017-09-04
 
118 ubuntu 安装配置opensips,rtpproxy,mediaproxy admin 24490   2017-09-04
 
117 How to install Mediaproxy 2.5.2 on CentOS 6 64 bit admin 144708   2017-09-04
 
116 Using TLS in OpenSIPS v2.2.x configuration admin 47951   2017-09-04
 
115 How to 2.3 download , OpenSIPS new apt repository. DEBs for Debian / Ubuntu admin 19705   2017-09-02
 
114 You can install CDRTool in the following ways: admin 21235   2017-09-01
 
113 How to Install OpenSIPS 2.1.2 Server on Ubuntu 15.04 admin 27259   2017-09-01
 
112 Opensips 2.32 download admin 19103   2017-09-01