[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