[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