한국어

소프트스위치

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

     페북공유

   ◎위챗 : speedseoul


  
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


https://github.com/antonraharja/book-opensips-101/blob/master/content/0.%20Table%20of%20Contents.mediawiki



https://github.com/antonraharja/book-opensips-101/blob/master/content/3.2.%20SIP%20TLS%20Secure%20Calling.mediawiki



able of Contents

Preface

Secure call can be achieved by enabling TLS. Once implemented SIP UA can choose to use transport TLS instead of UDP or TCP. The advantage of choosing TLS is that the SIP traffic exchanged between SIP UA and OpenSIPS will be encrypted, meaning it will take a considerable amount of time and effort to read it without the encryption key, if not possible.

Please note that the media it self will not be protected by this setup. In order to also secure the media, SIP UA need to be configured to use mandatory SRTP. That will force SIP UA to encrypt the media before transfer.

Several free SIP UA examples known to work or provide TLS and SRTP:

To enable TLS support in OpenSIPS we need to follow these steps:

  1. OpenSIPS and its modules compiled with option TLS=1
  2. Create TLS certificates
  3. Configure opensips.cfg with TLS options
  4. Verify config and test

We already done the first step on compile time, so we will start with step 2 in this chapter.

Step 2: Create TLS certificates

Before we start please remember that our OpenSIPS is in /root/src/opensips/opensips-1.9.1-tls/ and our installed OpenSIPS config files are in /usr/local/etc/opensips/.

Copy example openssl certificates to /usr/local/etc/opensips/tls/:

 cd /root/src/opensips/opensips-1.9.1-tls/
 cp -rR etc/tls /usr/local/etc/opensips/

Re-create local root Certificate Authority (CA). First we need to edit the ca.conf:

 cd /usr/local/etc/opensips/tls/
 vi ca.conf

Look for Please update sentence somewhere in ca.conf, they are near the bottom of the file. Update certificates parameters to suit your setups. If possible the commonName parameter is unique.

Save ca.conf and exit editor.

Run this command to re-create root CA in /usr/local/etc/opensips/tls/rootCA/:

 opensipsctl tls rootCA

Continue the process creating certificates, now we need to create our server certificate:

 cd /usr/local/etc/opensips/tls/
 cp user.conf server.conf
 vi server.conf

Look for Please update sentence somewhere in server.conf, they are quite easy to find. Update certificates parameters to suit your setups. Make sure that commonName parameter is pointing to OpenSIPS server IP, or your domain name that will be use as OpenSIPS server IP.

Run this command to create server certificate in /usr/local/etc/opensips/tls/server/:

 opensipsctl tls userCERT server

There will be 3 important files created, they are:

  • /usr/local/etc/opensips/tls/server/server-cert.pem
  • /usr/local/etc/opensips/tls/server/server-privkey.pem
  • /usr/local/etc/opensips/tls/server/server-calist.pem.

Step 3: Configure opensips.cfg with TLS options

Edit /usr/local/etc/opensips/opensips.cfg and locate for option disable_tls. By default it should have sets disable_tls=yes, meaning TLS is disabled.

Change disable_tls=yes to disable_tls=no and then paste below options:

 disable_tls = no
 listen = tls:192.168.56.45:5061
 tls_verify_server = 1
 tls_verify_client = 1
 tls_require_client_certificate = 0
 tls_method = TLSv1
 tls_certificate = "/usr/local/etc/opensips/tls/server/server-cert.pem"
 tls_private_key = "/usr/local/etc/opensips/tls/server/server-privkey.pem"
 tls_ca_list = "/usr/local/etc/opensips/tls/server/server-calist.pem"

Save the file.

Please note that our OpenSIPS 101 in this exercise is 192.168.56.45. You should change this IP to your real OpenSIPS IP.

Step 4: Verify config and test

Verify your config:

 opensips -c

Restart OpenSIPS:

 /etc/init.d/opensips.init restart

Verify whether OpenSIPS is listening in port 5061:

 netstat -lnptu | grep opensips

Use server-calist.pem on client side, do not copy other files from /usr/local/etc/opensips/tls/server/.

You can use SIP UA with TLS supports to test TLS connection to OpenSIPS. SIP UA such as Minisip and SFLphone in Linux or MicroSIP and Blink in Windows are good to use as they are free and easy to use.

On SIP UA, if possible we should disable other protocol (sometime referred as transport) and make sure we have only select TLS. Use port 5061 instead of 5060 to connect to OpenSIPS using TLS.

Some SIP UA do not have special feature to load certificates from its GUI. In this case you should import your server-calist.pem into your OS certificate repository (sometime referred as key store).

Same goes to mobile devices such as Android phone or iPhone, you should load server-calist.pem into its certificate repository rather then to load it from mobile SIP UA GUI.

Debugging SIP traffics over TLS on port 5061:

 ngrep -p -q -W byline port 5061

You should notice packets are captured but displayed as unreadable characters.

Try to make calls in TLS mode, and also try with mandatory SRTP enabled.

--
Anton Raharja
http://www.antonraharja.com

조회 수 :
42827
등록일 :
2014.03.12
10:40:30 (*.251.139.148)
엮인글 :
http://webs.co.kr/index.php?document_srl=39210&act=trackback&key=a5e
게시글 주소 :
http://webs.co.kr/index.php?document_srl=39210
List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜sort
141 opensips configuration config explain easy basic 오픈쉽스 컨피그레이션 기본 설명 file admin 22802   2017-12-07
 
140 openssl 을 이용한 인증서 생성 절차를 정리한다. 개인키 CSR SSL 인증서 파일 생성 admin 24613   2017-09-14
 
139 Documentation -> Tutorials -> TLS opensips.cfg admin 25635   2017-09-14
 
138 Using TLS in OpenSIPS v2.2.x admin 45622   2017-09-14
 
137 opensips tls cfg admin 30599   2017-09-14
 
136 How to setup a Jabber / XMPP server on Debian 8 (jessie) using ejabberd admin 125100   2017-09-13
 
135 SIP to XMPP Gateway + SIP Presence Server opensips admin 52937   2017-09-13
 
134 OpenSIPS command line tricks admin 45800   2017-09-13
 
133 Fail2Ban Freeswitch How to secure admin 62074   2017-09-12
 
132 opensips.cfg. sample admin 24867   2017-09-12
 
131 Advanced SIP scenarios with Event-based-Routing admin 34081   2017-09-11
 
130 PUSH SERVER 푸시서버 안드로이드 애플 admin 209615   2017-09-11
 
129 오픈소스 (사내)메신저 서버 구축, 오픈 파이어(openfire) 설치방법과 세팅(리눅스 기준) admin 73436   2017-09-09
 
128 rtpengine config basic and opensips configuration and command admin 54186   2017-09-06
 
127 WebSocket Transport using OpenSIPS configuration 웹 소켓 컨피그레이션 기본 admin 21750   2017-09-06
 
126 OpenSIPS basic configuration script 기본 컨피그 admin 106228   2017-09-05
 
125 rtpengine install and config admin 59230   2017-09-05
 
124 Installing RTPEngine on Ubuntu 14.04 admin 32961   2017-09-05
 
123 compile only the textops module make modules=modules/textops modules admin 19908   2017-09-05
 
122 opensips command /sbin/opensipsctl detail admin 125998   2017-09-04
 
121 2017 08 31 opensips 2.32 install debian8.8 module install compile err modules admin 42999   2017-09-04
 
120 Build-Depends debian 8.8 opensips 2.3 admin 65282   2017-09-04
 
119 What is new in 2.3.0 opensips admin 246586   2017-09-04
 
118 ubuntu 安装配置opensips,rtpproxy,mediaproxy admin 24448   2017-09-04
 
117 How to install Mediaproxy 2.5.2 on CentOS 6 64 bit admin 144641   2017-09-04
 
116 Using TLS in OpenSIPS v2.2.x configuration admin 47908   2017-09-04
 
115 How to 2.3 download , OpenSIPS new apt repository. DEBs for Debian / Ubuntu admin 19657   2017-09-02
 
114 You can install CDRTool in the following ways: admin 21174   2017-09-01
 
113 How to Install OpenSIPS 2.1.2 Server on Ubuntu 15.04 admin 27226   2017-09-01
 
112 Opensips 2.32 download admin 19047   2017-09-01