한국어

소프트스위치

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

     페북공유

   ◎위챗 : speedseoul


  
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


https://sysadminman.net/blog/2013/a2billing-and-opensips-part-2-4788


This is to confirm that SysAdminMan no longer offers FreePBX or A2Billing hosting.There were a few reasons for this decision but one of that main ones was, in my opinion, Sangoma’s aggressive commercialisation of FreePBX and their “FreePBX” trademark. It did not make commercial sense to continue building a business under these circumstances.According to Google Analytics there are still a couple of thousand visitors a week that use the site, so I will leave it here, but will not be adding new guides or tips.

In this part of the guide I’m going to look at some of the set up required for the example config to work.

We are going to enable IP and USER/SECRET authentication for our A2Billing SIP customer calls. To do that we are going to create a couple of MySQL VIEWS in the ‘opensips’ database that point to tables in the ‘a2billing’ database. This means we can create our A2Billing SIP users as normal, and they will then become valid users in OpenSIPS.

Part 2 and Part 3 of the guide assume the following –

  • OpenSIPS server IP = 1.1.1.1
  • A2Billing server IP = 2.2.2.2
  • MySQL server IP = 2.2.2.2   (same server as A2Billing)
  • domain name for our calls = mya2billingcalls.com

On the A2Billing/Asterisk server

So now we create our VIEWS in the database. We are going to use the ‘address’ table for IP authentications and the ‘subscriber’ table for USER/SECRET authentications.

Here we create the ‘address’ VIEW –

DROP TABLE opensips.address

CREATE VIEW opensips.address AS
SELECT id AS id,
CAST(1 AS DECIMAL) AS grp,
host AS ip,
CAST(32 AS DECIMAL) AS mask,
cast(port as DECIMAL) AS port,
'UDP' AS proto,
'' AS pattern,
accountcode AS context_info
from a2billing.cc_sip_buddies
WHERE host != 'dynamic';

So for any A2Billing SIP customer where the IP address is not set to ‘dynamic’ we are going to create an OpenSIPS user. We are also going to store the A2Billing customers Account Code in a field called context_info. This is not strictly what that field is designed for but it makes it easy for us to access the customers account code from OpenSIPS

Now we create the ‘subscriber’ VIEW –

DROP TABLE opensips.subscriber

CREATE VIEW opensips.subscriber AS
SELECT id AS id,
username AS username,
'openhold.com' AS domain,
secret AS password,
'' AS email_address,
md5(concat(username,':','mya2billingcalls.com',':',secret)) AS ha1,
md5(concat(username,'@','mya2billingcalls.com',':','mya2billingcalls.com',':',secret)) AS ha1b,
accountcode AS rpid
from a2billing.cc_sip_buddies
where username != '';

You will want to change ‘mya2billingcalls.com’ to the domain name you are going to use. We are going to store the customers Account Code in a field called ‘rpid’. Again this is not really what it’s designed for, but it makes it easy to access from OpenSIPS. You can see the ‘where’ clause restricts this to A2Billing customers that do not have a blank username field (they might have this if you were doing IP authentication)

Next we need to modify the Asterisk dial plan a little to tell it to pass all calls coming form the OpenSIPS server to the a2billing.php script.
To do that we are first going to create an entry in sip.conf with the sip details of the OpenSIPS server –

[opensips]
host=1.1.1.1
type=peer
context=a2billing-opensips-sip

So any calls coming from the OpenSIPS server will get passed to the ‘a2billing-opensips-sip’ context.

Now we create that context in extensions.conf –

[a2billing-opensips-sip]
exten => _X.,1,Set(CDR(accountcode)=${SIP_HEADER(P-Accountcode)})
exten => _X.,n,DeadAGI(a2billing.php,1)
exten => _X.,n,Hangup

So we set the A2Billing customer account code (this is going to be passed to us by OpenSIPS) and then we run the a2billing.php script using agi-conf1

On the A2Billing customer PBX

I’m going to assume that our A2Billing SIP customer is using an Asterisk server to connect to us. They could set up their trunk in 2 different ways. One using IP authentication like this –

[mya2billingcalls]
host=1.1.1.1
type=peer

For IP authentication we must have entered the customers PBX IP address in the HOST field in the customers A2Billing SIP account

Or they could use username/password authentication like this –

[mya2billingcalls]
host=1.1.1.1
type=peer
username=XXXXX
secret=XXXXX
fromdomain=mya2billingcalls.com

The ‘fromdomain’ setting must be set to the same one we used when creating our MySQL views.

That’s the Asterisk and MySQL setup done, it part 3 we’ll look at the actual OpenSIPS config file.

조회 수 :
34720
등록일 :
2017.08.29
11:28:30 (*.160.88.18)
엮인글 :
http://www.webs.co.kr/index.php?document_srl=3311336&act=trackback&key=fc8
게시글 주소 :
http://www.webs.co.kr/index.php?document_srl=3311336
List of Articles
번호 제목 글쓴이 조회 수 추천 수sort 날짜
» A2Billing and OpenSIPS – Part 2 admin 34720   2017-08-29
https://sysadminman.net/blog/2013/a2billing-and-opensips-part-2-4788 This is to confirm that SysAdminMan no longer offers FreePBX or A2Billing hosting.There were a few reasons for this decision but one of ...  
51 A2Billing and OpenSIPS – Part 1 admin 32654   2017-08-29
 
50 WebSocket Transport using OpenSIPS admin 25118   2017-09-01
 
49 JsSIP: The JavaScript SIP Library admin 21652   2017-09-01
 
48 OpenSIPS 2.3 install admin 25269   2017-09-01
 
47 Opensips 2.32 download admin 19626   2017-09-01
 
46 How to Install OpenSIPS 2.1.2 Server on Ubuntu 15.04 admin 27763   2017-09-01
 
45 You can install CDRTool in the following ways: admin 21736   2017-09-01
 
44 How to install Mediaproxy 2.5.2 on CentOS 6 64 bit admin 145270   2017-09-04
 
43 오픈소스 (사내)메신저 서버 구축, 오픈 파이어(openfire) 설치방법과 세팅(리눅스 기준) admin 74331   2017-09-09
 
42 PUSH SERVER 푸시서버 안드로이드 애플 admin 210395   2017-09-11
 
41 Advanced SIP scenarios with Event-based-Routing admin 34628   2017-09-11
 
40 opensips.cfg. sample admin 25338   2017-09-12
 
39 WebSocket Transport using OpenSIPS configuration 웹 소켓 컨피그레이션 기본 admin 22269   2017-09-06
 
38 compile only the textops module make modules=modules/textops modules admin 20516   2017-09-05
 
37 Installing RTPEngine on Ubuntu 14.04 admin 33461   2017-09-05
 
36 Build-Depends debian 8.8 opensips 2.3 admin 65738   2017-09-04
 
35 2017 08 31 opensips 2.32 install debian8.8 module install compile err modules admin 43428   2017-09-04
 
34 opensips command /sbin/opensipsctl detail admin 126791   2017-09-04
 
33 rtpengine install and config admin 59749   2017-09-05
 
32 OpenSIPS basic configuration script 기본 컨피그 admin 107083   2017-09-05
 
31 rtpengine config basic and opensips configuration and command admin 54702   2017-09-06
 
30 opensips tls cfg admin 31124   2017-09-14
 
29 Fail2Ban Freeswitch How to secure admin 62793   2017-09-12
 
28 OpenSIPS command line tricks admin 46321   2017-09-13
 
27 SIP to XMPP Gateway + SIP Presence Server opensips admin 53592   2017-09-13
 
26 How to setup a Jabber / XMPP server on Debian 8 (jessie) using ejabberd admin 125809   2017-09-13
 
25 Using TLS in OpenSIPS v2.2.x admin 46138   2017-09-14
 
24 Documentation -> Tutorials -> TLS opensips.cfg admin 26182   2017-09-14
 
23 openssl 을 이용한 인증서 생성 절차를 정리한다. 개인키 CSR SSL 인증서 파일 생성 admin 25209   2017-09-14