joern
2009-Dec-14 13:41 UTC
[asterisk-users] meetme with review of the entered conference number
Hi there, 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? Cheers Joern
Richard Kenner
2009-Dec-14 13:57 UTC
[asterisk-users] meetme with review of the entered conference number
> 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