基於ubuntu中使用mysql實現opensips使用者認證的解決方案

來源:互聯網
上載者:User

1 MySQL支援

1.1 MySQL模組支援

預設安裝時,不包含MySQL模組。

opensipsctlrc檔案中包含了資料庫配置的資訊,要想讓opensips支援mysql資料庫,在編譯安裝的時候

就要支援mysql模組。方法如下:

(1)修改opensips中的Makefile.conf,在exclude_modules中去掉db_mysql,在include_modules中

添加db_mysql,然後重新編譯安裝。要添加支援的模組都可以這樣操作。

(2)編譯時間指定,make include_modules=”db_mysql” modules prefix=/ 。

在編譯安裝之前,需要安裝mysql的開發包,要不編譯通不過。方法如下:

$sudo apt-get install libmysqlclient-dev 。

2.2 安裝MySQL

使用sudo opensipsdbctl create建立資料庫在之前,要確認已經安裝了mysql。安裝方法如下:

$sudo apt-get install mysql-server mysql-client

安裝過程中提示輸入mysql的root使用者密碼。使用如下命令測試mysql是否安裝成功

   $sudo mysql -p 輸入剛才設定的root密碼

MySQL URL格式如下:

mysql://username:password@domain/dbname

2.3 建立opensips資料庫

使用sudo opensipsdbctl create命令來建立資料庫,這個過程中要求輸入MySQL資料庫root使用者的密碼,

就是上一步輸入的密碼。然後還有一些附加的表讓你選擇是否建立,選擇之後opensips資料庫建立成功。

/sbin/opensipsdbctl是一個shell指令碼,可以開啟讀一下它的代碼就知道建立資料庫是怎麼一個過程了。首先,

它會把/etc/opensips/opensipsctlrc這個設定檔包含進來,然後根據這個設定檔來建立資料庫,還涉及到

/lib/opensips/opensipsctl中的opensipsdbctl.base檔案和 opensipsdbctl.mysql檔案。

可以進入opensips資料庫查看一下有哪些表,使用者認證要用的是subscriber表。

2 使用者認證配置

上一節中已經說明了怎麼讓opensips支援MySQL資料庫,使用者認證是在上一節的基礎上完成的。

  這部分的主要工作是對opensips設定檔的修改,包括opensips.cfg和opensipsctlrc檔案。設定檔opensips.cfg中

要修改全域變數、載入db_mysql.so、auth.so和auth_db.so動態庫,並配置相應的參數,以及修改路由策略,同時設定檔

opensipsctlrc中也要修改一些參數。

  設定檔opensips.cfg如下:

  http://www.jb51.net/article/35752.htm

  配置的過程中在網上找了很多資料,通常是設定檔檢查能通過,但總是不能運行opensips,對這些資料深表懷疑,不知道

他們有沒有真正實踐過!

  最後還是決定看官方的說明,如opensips mysql installation的英文PDF、opensips源碼包中的INSTALL檔案等。

INSTALL檔案中只說明了要向opensips.cfg檔案中添加那些配置代碼,而沒有詳細說明要把這些語句加在什麼位置,而且

其中好像還有錯誤,不能使用break,而是exit。opensips mysql installation的英文PDF中說明了具體的位置,但是還要

根據自己的實際情況來配置。

  配置完成以後要檢查設定檔文法是否正確,命令如下:

  $sudo opensips –c

  檢查通過以後啟動opensips,命令如下:

  $sudo opensipsctl start

  如果啟動時出現錯誤,查看系統日誌瞭解具體原因,然後針原因解決問題。

  $vim /var/log/syslog

3 測試

  添加SIP使用者:

  文法:opensipsctl add <username> <password>

  opensipsctl add alice@192.168.139.121 123456

  opensipsctl add bob@192.168.139.121 123456

  然後下載SIP用戶端進行測試!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.