基于ubuntu中使用mysql實(shí)現(xiàn)opensips用戶認(rèn)證的解決方法
2024-07-24 12:40:52
供稿:網(wǎng)友
1 MySQL支持 1.1 MySQL模塊支持 默認(rèn)安裝時(shí),不包含MySQL模塊。 opensipsctlrc文件中包含了數(shù)據(jù)庫(kù)配置的信息,要想讓opensips支持mysql數(shù)據(jù)庫(kù),在編譯安裝的時(shí)候 就要支持mysql模塊。方法如下: (1)修改opensips中的Makefile.conf,在exclude_modules中去掉db_mysql,在include_modules中 添加db_mysql,然后重新編譯安裝。要添加支持的模塊都可以這樣操作。 (2)編譯時(shí)指定,make include_modules=”db_mysql” modules prefix=/ 。 在編譯安裝之前,需要安裝mysql的開發(fā)包,要不編譯通不過(guò)。方法如下: $sudo apt-get install libmysqlclient-dev 。 2.2 安裝MySQL 使用sudo opensipsdbctl create創(chuàng)建數(shù)據(jù)庫(kù)在之前,要確認(rèn)已經(jīng)安裝了mysql。安裝方法如下: $sudo apt-get install mysql-server mysql-client 安裝過(guò)程中提示輸入mysql的root用戶密碼。使用如下命令測(cè)試mysql是否安裝成功 $sudo mysql -p 輸入剛才設(shè)置的root密碼 MySQL URL格式如下: mysql://username:password@domain/dbname 2.3 創(chuàng)建opensips數(shù)據(jù)庫(kù) 使用sudo opensipsdbctl create命令來(lái)創(chuàng)建數(shù)據(jù)庫(kù),這個(gè)過(guò)程中要求輸入MySQL數(shù)據(jù)庫(kù)root用戶的密碼, 就是上一步輸入的密碼。然后還有一些附加的表讓你選擇是否創(chuàng)建,選擇之后opensips數(shù)據(jù)庫(kù)創(chuàng)建成功。 /sbin/opensipsdbctl是一個(gè)shell腳本,可以打開讀一下它的代碼就知道創(chuàng)建數(shù)據(jù)庫(kù)是怎么一個(gè)過(guò)程了。首先, 它會(huì)把/etc/opensips/opensipsctlrc這個(gè)配置文件包含進(jìn)來(lái),然后根據(jù)這個(gè)配置文件來(lái)創(chuàng)建數(shù)據(jù)庫(kù),還涉及到 /lib/opensips/opensipsctl中的opensipsdbctl.base文件和 opensipsdbctl.mysql文件。 可以進(jìn)入opensips數(shù)據(jù)庫(kù)查看一下有哪些表,用戶認(rèn)證要用的是subscriber表。 2 用戶認(rèn)證配置 上一節(jié)中已經(jīng)說(shuō)明了怎么讓opensips支持MySQL數(shù)據(jù)庫(kù),用戶認(rèn)證是在上一節(jié)的基礎(chǔ)上完成的。 這部分的主要工作是對(duì)opensips配置文件的修改,包括opensips.cfg和opensipsctlrc文件。配置文件opensips.cfg中 要修改全局變量、加載db_mysql.so、auth.so和auth_db.so動(dòng)態(tài)庫(kù),并配置相應(yīng)的參數(shù),以及修改路由策略,同時(shí)配置文件 opensipsctlrc中也要修改一些參數(shù)。 配置文件opensips.cfg如下: 配置的過(guò)程中在網(wǎng)上找了很多資料,通常是配置文件檢查能通過(guò),但總是不能運(yùn)行opensips,對(duì)這些資料深表懷疑,不知道 他們有沒有真正實(shí)踐過(guò)! 最后還是決定看官方的說(shuō)明,如opensips mysql installation的英文PDF、opensips源碼包中的INSTALL文件等。 INSTALL文件中只說(shuō)明了要向opensips.cfg文件中添加那些配置代碼,而沒有詳細(xì)說(shuō)明要把這些語(yǔ)句加在什么位置,而且 其中好像還有錯(cuò)誤,不能使用break,而是exit。opensips mysql installation的英文PDF中說(shuō)明了具體的位置,但是還要 根據(jù)自己的實(shí)際情況來(lái)配置。 配置完成以后要檢查配置文件語(yǔ)法是否正確,命令如下: $sudo opensips –c 檢查通過(guò)以后啟動(dòng)opensips,命令如下: $sudo opensipsctl start 如果啟動(dòng)時(shí)出現(xiàn)錯(cuò)誤,查看系統(tǒng)日志了解具體原因,然后針原因解決問題。 $vim /var/log/syslog 3 測(cè)試 添加SIP用戶: 語(yǔ)法:opensipsctl add <username> <password> opensipsctl add alice@192.168.139.121 123456 opensipsctl add bob@192.168.139.121 123456 然后下載SIP客戶端進(jìn)行測(cè)試!