[asterisk-users] asterisk > 1.6.2.0, ODBC and meetme -> no musiconhold
Jörn Stenkamp
joern at tel2ip.net
Tue Jun 26 14:35:47 CDT 2012
Hello together!
I'm trying to migrate my actual asterisk with adhoc conference bridge
functionality to another server, but I don't get the MusicOnHold
function running in combination with MeetMe on the new server. Beside
the asterisk version (1.6.2.0-1 vs 1.6.2.9-2) the new server is using on
64bit architecture (i386 vs x86_64) there are no bigger differences. In
the past I tried several times to update the asterisk version 1.6.2.0-1
to something newer, but then I had always stability problems with the
MeetMe function.
The new server:
Server: Intel(R) Xeon(TM) CPU 2.80GHz
Ram: 2GB
OS: Debian 6.0.5 x86_64
Kernel: 2.6.32
Asterisk: Asterisk 1.6.2.9-2+squeeze6
So let me briefly describe the concept on the working server:
A call comes in to the asterisk server.
The user will be asked to enter the conference number (max 6 digits and
max 3 retries)
The user get an announcement of the entered digits and will be placed
into his conference
If the user is the only person in this conference MusicOnHold will be
played (MeetMe,M)
Server: Intel(R) Xeon(TM) CPU 2.80GHz
Ram: 3GB
OS: Debian 6.0.5 i386
Kernel: 2.6.33.11
Asterisk: 1.6.2.0-1
Asterisk has been setup to accept adhoc conferencing identified by
numbers from 0000-999999.
The confno are stored in a mySQL database, because a meetme.conf flat
file won't work with such amount of numbers.
ODBC has been setup correctly and is working.
cat res_odbc.conf
[asterisk]
enabled => yes
dsn => asterisk
username =>asterisk
password => xxxxxxx
;loguniqueid = yes
pre-connect => yes
cat func_odbc.conf
[VALID]
dsn=asterisk
read=select count(*) from meetme where confno=${ARG1};
cat extconfig.conf
meetme => odbc,asterisk,meetme
extensionf.conf
exten => 5029,1,NoOp(***INCOMING CALL***)
exten => 5029,n,Set(CHANNEL(language)=en_GB)
exten => 5029,n,Answer()
exten => 5029,n,Ringing()
exten => 5029,n,Wait(6)
exten => 5029,n,Set(RETRIES=0)
exten => 5029,n,Read(CONFNO,conf-getpin,6)
exten => 5029,n(retry),GotoIf($[${LEN(${CONFNO})}<4]?invalid)
exten => 5029,n,GotoIf(${ODBC_VALID(${CONFNO})}?valid)
exten => 5029,n(invalid),GotoIf($[${RETRIES}>2]?goodby)
exten => 5029,n,Set(RETRIES=$[${RETRIES}+1])
exten => 5029,n,Read(CONFNO,conf-invalid,6)
exten => 5029,n,Goto(retry)
exten => 5029,n(valid),NoOp
exten => 5029,n,Playback(conf-enteringno)
exten => 5029,n,SayDigits(${CONFNO})
exten => 5029,n,MeetMe(${CONFNO},Mcs)
exten => 5029,n,Hangup
exten => 5029,n(goodby),Playback(vm-goodbye)
exten => 5029,n,Hangup
DATABASE STUFF:
mysql> use asterisk;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+--------------------+
| Tables_in_asterisk |
+--------------------+
| meetme |
+--------------------+
1 row in set (0.00 sec)
mysql> describe meetme;
+-------------------+-------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+-------------+------+-----+---------------------+-------+
| confno | varchar(80) | NO | PRI | 0 | |
| bookId | char(50) | YES | | NULL | |
| starttime | datetime | NO | PRI | 0000-00-00 00:00:00
| |
| endtime | datetime | YES | | NULL | |
| pin | char(30) | YES | | NULL | |
| opts | char(100) | YES | | NULL | |
| adminpin | char(30) | YES | | NULL | |
| adminopts | char(100) | YES | | NULL | |
| members | int(11) | NO | | 0 | |
| maxusers | int(11) | NO | | 0 | |
| recordingfilename | char(255) | YES | | NULL | |
| recordingformat | char(10) | YES | | NULL | |
+-------------------+-------------+------+-----+---------------------+-------+
12 rows in set (0.01 sec)
On the asterisk CLI I got...
on the old server:
== Parsing '/etc/asterisk/meetme.conf': == Found
-- Created MeetMe conference 1022 for conference '01233'
-- <SIP/sip-lab-00000079> Playing 'conf-onlyperson.alaw' (language
'en_GB')
-- Started music on hold, class 'default', on channel
'SIP/sip-lab-00000079'
on the new server:
== Parsing '/etc/asterisk/meetme.conf': == Found
-- Created MeetMe conference 1023 for conference '123456'
> Found confno column with type 12 with len 80, octetlen 80, and numlen
(0,0)
> Found bookId column with type 1 with len 50, octetlen 50, and numlen
(0,0)
> Found starttime column with type 93 with len 19, octetlen 19, and
numlen (0,10)
> Found endtime column with type 93 with len 19, octetlen 19, and
numlen (0,10)
> Found pin column with type 1 with len 30, octetlen 30, and numlen (0,0)
> Found opts column with type 1 with len 100, octetlen 100, and numlen
(0,0)
> Found adminpin column with type 1 with len 30, octetlen 30, and
numlen (0,0)
> Found adminopts column with type 1 with len 100, octetlen 100, and
numlen (0,0)
> Found members column with type 4 with len 10, octetlen 10, and numlen
(0,10)
> Found maxusers column with type 4 with len 10, octetlen 10, and
numlen (0,10)
> Found recordingfilename column with type 1 with len 255, octetlen
255, and numlen (0,0)
> Found recordingformat column with type 1 with len 10, octetlen 10,
and numlen (0,0)
-- <SIP/sip-lab-0000000e> Playing 'conf-onlyperson.alaw' (language
'en_GB')
-- Hungup 'DAHDI/pseudo-1126792154'
If I enter in meetme.conf
conf => 123456
it works fine
== Parsing '/etc/asterisk/meetme.conf': == Found
-- Created MeetMe conference 1023 for conference '123456'
-- <SIP/sip-lab-00000000> Playing 'conf-onlyperson.alaw' (language
'en_GB')
-- Started music on hold, class 'default', on channel
'SIP/sip-lab-00000000'
-- Stopped music on hold on SIP/sip-lab-00000000
-- Started music on hold, class 'default', on channel
'SIP/sip-lab-00000000'
-- Stopped music on hold on SIP/sip-lab-00000000
-- Hungup 'DAHDI/pseudo-121792888'
Any idea?
Best regards
Joern
More information about the asterisk-users
mailing list