[asterisk-users] meetme with review of the entered conference number

Richard Kenner kenner at gnat.com
Mon Dec 14 07:57:03 CST 2009


> I'm using asterisk meetme function like:
> 
>    exten => 9070,n,MeetMe(|dcM)
> 
> and everything works pretty well. But I would like to add a review of 
> the entered conference number before the user jumps into the conference.
> 
> Somthing like:
> *:"Please enter the conference number followed by the hash key" (works)
> U: 123456# (works)
> *: "You are entering conference number 123456" (missing)
> *: "You are currently the only person in this conference" (works)
> 
> If the user is entering a different conference number (like 987654 or 
> 987 or `seq 1 999999`) it should work as described above.
> 
> Any suggestion?

Do everything manually.  What I do is:

exten => 200,1,Answer(1000)			; Give time to connect.
exten => 200,n,Set(RETRIES=0)			; Allow retries if bad number.
exten => 200,n,Read(C,adacore/welcome-conference,7) ; Get conference number.
exten => 200,n(retry),GotoIf($[${LEN(${C})}<2]?invalid) ; Invalid if none.
exten => 200,n,GotoIf(${CONF_VALID(${C})}?${C},1) ; Go to it if realtime.
exten => 200,n,GotoIf($[${LEN(${C})}==3&${C:0:2}==20]?29${C:2:1},1) ; or room.
exten => 200,n(invalid),GotoIf($[${RETRIES}>2]?999) ; If no more retries done.
exten => 200,n,Set(RETRIES=$[${RETRIES}+1])	; Else count the retry.
exten => 200,n,Read(C,conf-invalid,7)		; Prompt again.
exten => 200,n,Goto(retry)			; Try again.

exten => _29Z,1,Answer(900)			; Answer and wait a bit.
exten => _29Z,n,Authenticate(xxxx,,4)		; Ask for password.
exten => _29Z,n,Goto(20${EXTEN:2},1)		; Enter if OK.

exten => _20Z,1,Answer(600)			; Answer and delay a bit.
exten => _20Z,n,Set(O=${IF($["${CALLERID(name)}" =~ "Conf Polycom"]?csT:cosT)})
exten => _20Z,n,MeetMe(${EXTEN},${O})		; Enter conference room.

exten => _XXXXXXX,1,GotoIf($[${CONF_RECORDED(${EXTEN})}=0]?enter)
exten => _XXXXXXX,n,Playback(adacore/this-conference-will-be-recorded)
exten => _XXXXXXX,n(enter),Meetme(${EXTEN})

CONF_VALID and CONF_RECORDED are, in func_odbc:

[VALID]
dsn=meetme
readsql=select count(*) from booking where confno=${ARG1} and endtime>now();
prefix=CONF

[RECORDED]
dsn=meetme
readsql=select count(*) from booking where confno=${ARG1} and adminopts like '%r%';
prefix=CONF



More information about the asterisk-users mailing list