<此文檔是 2007.11.29 讀研時的記錄,這近清檔案找出來,也許有人用得到,也許>
openser 是網路電話公用的伺服器,他主要的功能是作為網路電話的總機和溝通用的橋樑,此文是安裝的記錄,年代久遠。
系統
# uname -a
Linux ax.er 2.6.18-8.el5 #1 SMP Thu Mar 15 19:57:35 EDT 2007 i686 i686 i386 GNU/Linux
FEDORA7
安裝
一、按照以往安裝mysql,apache,openser
[root@ax ~]# service openser start
正在啟動 openser: [失敗]
[root@ax ~]# tail /var/log/messages
Nov 27 13:38:43 ax openser: ERROR: load_module: could not open module </usr/lib/openser/modules/mysql.so>: /usr/lib/openser/modules/mysql.so: cannot open shared object file: No such file or directory
Nov 27 13:38:43 ax openser: parse error (40,13-14): failed to load module
Nov 27 13:38:43 ax openser: INFO:mi_fifo:mi_destroy:memory for the child's mi_fifo_pid was not allocated -> nothing to destroy
失敗,後來發現是少了 /usr/lib/openser/modules/mysql.so>: /usr/lib/openser/modules/mysql.so
[root@ax ~]# find / -name 'mysql.so'
/usr/lib/php/modules/mysql.so
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/mysql/mysql.so
[root@ax modules]# ln -s /usr/lib/php/modules/mysql.so mysql.so
拷備過去或是link過去都不行,把之前freebsd上成功的mysql.so拷過來也不行;
原來是要裝openser-mysql-1.2.2-3.fc7.i386.rpm
安裝openser-mysql-1.2.2-3.fc7.i386.rpm 竟然可以裝起來,也可以啟動;以為成功了,不過下
openserctl ps會出錯,意思是和 openser-1.2.2-3.fc7.i386.rpm 相依性不符,因為我裝的不是這個版本
所以移除重裝。
移除+失敗=累-->重新下載 openser-1.2.2-3.fc7.i386.rpm, openser-mysql-1.2.2-3.fc7.i386.rpm兩個檔
[root@ax ~]# rpm -Uvh openser-1.2.2-3.fc7.i386.rpm
error: Failed dependencies:
libnetsnmp.so.15 is needed by openser-1.2.2-3.fc7.i386
libnetsnmpagent.so.15 is needed by openser-1.2.2-3.fc7.i386
libnetsnmphelpers.so.15 is needed by openser-1.2.2-3.fc7.i386
libnetsnmpmibs.so.15 is needed by openser-1.2.2-3.fc7.i386
perl(Authen::SASL) is needed by openser-1.2.2-3.fc7.i386
perl(Net::LDAP) is needed by openser-1.2.2-3.fc7.i386
出現相依性問題。
二、要安裝net-snmp-libs
[root@ax ~]# rpm -ivh net-snmp-libs-5.4-13.fc7.i386.rpm
Preparing... ########################################### [100%]
1:net-snmp-libs ########################################### [100%]
[root@ax ~]# rpm -ivh openser-1.2.2-3.fc7.i386.rpm
error: Failed dependencies:
perl(Authen::SASL) is needed by openser-1.2.2-3.fc7.i386
perl(Net::LDAP) is needed by openser-1.2.2-3.fc7.i386
相依性問題少了四個;剩下perl了。
安裝perl
[root@ax ~]# yum install perl*
....
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
perl-Archive-Zip noarch 1.16-1.2.1 base 138 k
perl-Authen-Radius noarch 0.13-1.el5.centos extras 16 k
perl-BSD-Resource i386 1.28-1.fc6.1 base 29 k
perl-Bit-Vector i386 6.4-2.2.2.1 base 179 k
perl-Carp-Clan noarch 5.3-1.2.1 base 22 k
perl-Convert-ASN1 noarch 0.20-1.1 base 42 k
perl-Crypt-SSLeay i386 0.51-11.el5 base 45 k
perl-DBD-Pg i386 1.49-1.fc6 base 114 k
perl-Data-HexDump noarch 0.02-1.el5.centos extras 8.4 k
perl-Date-Calc i386 5.4-1.2.2.1 base 269 k
perl-DateManip noarch 5.44-1.2.1 base 144 k
perl-IO-String noarch 1.08-1.1.1 base 13 k
perl-LDAP noarch 1:0.33-3.fc6 base 316 k
perl-Mail-POP3Client noarch 2.17-1.el5.centos extras 21 k
perl-MailTools noarch 1.77-1.el5.centos extras 91 k
perl-NKF i386 2.07-1.1.fc6 base 118 k
perl-Net-IMAP-Simple noarch 1.17-1.el5.centos extras 19 k
perl-Net-IMAP-Simple-SSL noarch 1.3-1.el5.centos extras 6.5 k
perl-Net-Telnet noarch 3.03-5 base 56 k
perl-SGMLSpm noarch 1.03ii-16.2.1 base 17 k
perl-TimeDate noarch 1.16-1.el5.centos extras 36 k
perl-URI noarch 1.35-3 base 116 k
perl-XML-Dumper noarch 0.81-2.fc6 base 22 k
perl-XML-Grove noarch 0.46alpha-29.1.1 base 67 k
perl-XML-LibXML i386 1.58-5 base 231 k
perl-XML-LibXML-Common i386 0.13-8.2.2 base 16 k
perl-XML-NamespaceSupport noarch 1.09-1.2.1 base 15 k
perl-XML-Parser i386 2.34-6.1.2.2.1 base 210 k
perl-XML-SAX noarch 0.14-5 base 75 k
perl-XML-Simple noarch 2.14-4.fc6 base 68 k
perl-XML-Twig noarch 3.26-1.fc6 base 192 k
perl-libwww-perl noarch 5.805-1.1.1 base 376 k
perl-libxml-perl noarch 0.08-1.2.1 base 91 k
perl-suidperl i386 4:5.8.8-10.el5_0.2 updates 57 k
Updating:
perl i386 4:5.8.8-10.el5_0.2 updates 12 M
perl-Net-DNS i386 0.59-3.el5 updates 215 k
Transaction Summary
=============================================================================
Install 34 Package(s)
Update 2 Package(s)
Remove 0 Package(s)
....
[root@ax ~]# rpm -ivh openser-1.2.2-3.fc7.i386.rpm
error: Failed dependencies:
perl(Authen::SASL) is needed by openser-1.2.2-3.fc7.i386
還有一個相依性問題用cpan應該可以解決
[root@ax lib]# perl -MCPAN -e shell
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')
cpan> install Authen::SASL
失敗,他說他不知道什麼是 install Authen::SASL
到這直接拉檔案 http://search.cpan.org/~gbarr/ 解壓縮
[root@ax Authen-SASL-2.10]# perl Makefile.PL
*** Module::AutoInstall version 1.02
*** Checking for Perl dependencies...
[DIGEST-MD5 mechanism]
- Digest::MD5 ...loaded. (2.36)
[CRAM-MD5 mechanism]
- Digest::HMAC_MD5 ...loaded. (1.01)
[GSSAPI mechanism]
- GSSAPI ...loaded. (0.24)
*** Module::AutoInstall configuration finished.
Checking if your kit is complete...
Looks good
Writing Makefile for Authen::SASL
[root@ax Authen-SASL-2.10]# make install
...
問題還是依舊
[root@ax ~]# rpm -ivh openser-1.2.2-3.fc7.i386.rpm
error: Failed dependencies:
perl(Authen::SASL) is needed by openser-1.2.2-3.fc7.i386
可是我明明已經裝了
[root@ax Authen-SASL-2.10]# perldoc perllocal
Wed Nov 28 12:28:52 2007: "Module" Authen::SASL
· "installed into: /usr/lib/perl5/site_perl/5.8.8"
· "LINKTYPE: dynamic"
· "VERSION: 2.10"
· "EXE_FILES: "
不知道問題在哪?
靈感,我需要靈感;網路上沒人遇過同樣的問題?
三、尋找perl-Authen-SASL套件http://rpmfind.net/linux/RPM/index.html
[root@ax ~]# rpm -ivh perl-Authen-SASL-2.10-1.fc6.noarch.rpm
warning: perl-Authen-SASL-2.10-1.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 1ac70ce6
error: Failed dependencies:
perl(GSSAPI) is needed by perl-Authen-SASL-2.10-1.fc6.noarch
相依性問題;再找perl-GSSAPI
[root@ax ~]# rpm -ivh perl-GSSAPI-0.24-1.fc7.i386.rpm
warning: perl-GSSAPI-0.24-1.fc7.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
1:perl-GSSAPI ########################################### [100%]
[root@ax ~]# rpm -ivh perl-Authen-SASL-2.10-1.fc6.noarch.rpm
warning: perl-Authen-SASL-2.10-1.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 1ac70ce6
Preparing... ########################################### [100%]
1:perl-Authen-SASL ########################################### [100%]
裝起來了
再試一次
[root@ax ~]# rpm -ivh openser-1.2.2-3.fc7.i386.rpm
Preparing... ########################################### [100%]
1:openser ########################################### [100%]
可以了,原來那是要裝perl-Authen-SASL,而不是perl module- Authen::SASL
乘勝追擊
[root@ax ~]# rpm -ivh openser-mysql-1.2.2-3.fc7.i386.rpm
Preparing... ########################################### [100%]
1:openser-mysql ########################################### [100%]
好了。
一帆風順,將原來的/etc/openser/openser.cfg 拷回來,啟動
[root@ax openser]# service openser start
正在啟動 openser:
[root@ax openser]# service openser restart
正在停止 openser: [ 確定 ]
正在啟動 openser:
[root@ax openser]# openserctl ps
Process:: ID=0 PID=2808 Type=attendant
Process:: ID=1 PID=2813 Type=receiver child=0 sock= 127.0.0.1:5060
Process:: ID=2 PID=2814 Type=receiver child=1 sock= 127.0.0.1:5060
Process:: ID=3 PID=2815 Type=receiver child=2 sock= 127.0.0.1:5060
Process:: ID=4 PID=2816 Type=receiver child=3 sock= 127.0.0.1:5060
Process:: ID=5 PID=2817 Type=receiver child=0 sock= 10.200.8.10:5060
Process:: ID=6 PID=2818 Type=receiver child=1 sock= 10.200.8.10:5060
Process:: ID=7 PID=2826 Type=receiver child=2 sock= 10.200.8.10:5060
Process:: ID=8 PID=2827 Type=receiver child=3 sock= 10.200.8.10:5060
Process:: ID=9 PID=2828 Type=receiver child=0 sock= 218.170.27.115:5060
Process:: ID=10 PID=2829 Type=receiver child=1 sock= 218.170.27.115:5060
Process:: ID=11 PID=2830 Type=receiver child=2 sock= 218.170.27.115:5060
Process:: ID=12 PID=2836 Type=receiver child=3 sock= 218.170.27.115:5060
Process:: ID=13 PID=2839 Type=timer
Process:: ID=14 PID=2840 Type=tcp receiver
Process:: ID=15 PID=2841 Type=tcp receiver
Process:: ID=16 PID=2842 Type=tcp receiver
Process:: ID=17 PID=2843 Type=tcp receiver
Process:: ID=18 PID=2851 Type=tcp main process
成功。
[root@ax ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost.localdomain:2208 *:* LISTEN
tcp 0 0 218-170-27-115.dynamic.:sip *:* LISTEN
tcp 0 0 ax.er:sip *:* LISTEN
tcp 0 0 localhost.localdomain:sip *:* LISTEN
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:779 *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 ax.er:domain *:* LISTEN
tcp 0 0 localhost.localdomai:domain *:* LISTEN
tcp 0 0 localhost.localdomain:ipp *:* LISTEN
tcp 0 0 localhost.localdomain:smtp *:* LISTEN
tcp 0 0 localhost.localdomain:rndc *:* LISTEN
tcp 0 0 localhost.localdomain:2207 *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 localhost6.localdoma:domain *:* LISTEN
tcp 0 0 2001:288:5400:10::10:domain *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost6.localdomain:rndc *:* LISTEN
tcp 0 132 ax.er:ssh ::ffff:10.200.8.:blackboard ESTABLISHED
有listen sip;
四、建立網域
[root@ax ~]# openserctl domain add ax.er
This command requires a database engine - none was loaded
這是不又是失敗的意思?
看了 vi /usr/sbin/openserctl原來是要修改/etc/openser/openserctlrc
基本上把"#"拿掉,修改的部分如下:
## your SIP domain
SIP_DOMAIN=ax.er
## check ACL names; default on (1); off (0)
VERIFY_ACL=0
## ACL names - if VERIFY_ACL is set, only the ACL names from below list
## are accepted
# ACL_GROUPS="local ld int voicemail free-pstn"
## presence of serweb tables - default "no"
HAS_SERWEB="yes"
## verbose - debug purposes - default '0'
# VERBOSE=1
其餘不變
[root@ax openser]# openserctl domain add ax.er
MySql password for user 'openser@localhost':
INFO: execute '/usr/sbin/openserctl domain reload' to synchronoze cache and database
一開始忘了密碼;還好重設就解決了
五、新增使用者
[root@ax openser]# openserctl add axer 123456 axer@ms1.boe.tcc.edu.tw
MySql password for user 'openser@localhost':
new user 'axer' added
他會直接加到subscriber這個表;如此我就不需要再安裝serweb了
openser果然比ser問題少很多。
六、試打安裝話機x-lite
http://www.counterpath.com/xlite-overview.html
X-Lite Features
* Open Standards based next generation telephony client
* Session Initiated Protocol (SIP) based signaling for all interactive media sessions
* Enhanced Quality of Service (QoS) for voice & video calls
* Comprehensive Personal Address Book, including detailed calls lists and history
* Zero-Touch Configuration of your audio or video devices
* Microsoft Outlook? integration allowing users to import their address book into their eyeBeam contact list
* IM and Presence Management
* Multi-party and ad hoc Voice and Video Conferencing [IP & PSTN]
* Voice & Video Call Recording
* Detachable & Sliding Drawers for quick Video and Contact information
* Toast pop-ups allowing the management of incoming calls
WINDOWS版本:8.5M
http://storage.counterpath.com/downloads/X-Lite_Win32_1011s_41150.exe
還有LINUX版本
註冊上來了
[root@ax openser]# openserctl monitor
[cycle #: 1; if constant make sure server lives]
Server:: OpenSER (1.2.2-notls (i386/linux))
Now:: Wed Nov 28 13:39:46 2007
Up since:: Wed Nov 28 13:00:41 2007
Up time:: 2345 [sec]
Transaction Statistics:
tm:UAS_transactions = 1
tm:UAC_transactions = 0
tm:inuse_transactions = 0
Stateless Server Statistics:
sl:sent_replies = 4
sl:sent_err_replies = 0
sl:received_ACKs = 0
UsrLoc Stats:
usrloc:registered_users = 1
usrloc:location-users = 1
usrloc:location-contacts = 1
usrloc:location-expires = 0
usrloc:aliases-users = 0
usrloc:aliases-contacts = 0
usrloc:aliases-expires = 0
SIP的協定流程
XLite註冊上的畫面(安裝在windows系統)
正在響的Xlite