Collect digits and then pass them to DISA

Hi all
what i need is a service where caller hears a message ( like: Hello, digits the conference ID… ) and then digits a code ( that is a conference ID ).

I am trying to use DISA. It works fine but i have to wait the end of message, before send digits.
What i need is while message in playing i want to start to send DTMF codes ( message stops as soon as firts digit is pressed ).
I found Background command and I suppose Read command, but how can a collect digits and then pass them to DISA???

Any suggestions???
Thanks

Here my code:

[code][app-announcement-4]
include => app-announcement-4-custom
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})

exten => s,1,GotoIf($["${CDR(disposition)}" = “ANSWERED”]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Noop(Playing announcement Lingua ENG - LW4YOU)
exten => s,n,Background(custom/Lw4You_ENG,noanswer)
exten => s,n,Goto(disa,1,1)

;–== end of [app-announcement-4] ==–;

[disa]
include => disa-custom
exten => 1,1,Answer
exten => 1,n,Set(_DISA=disa^1^newcall)
exten => 1,n(newcall),Set(_DISACONTEXT=from-internal)
exten => 1,n,Set(_KEEPCID=TRUE)
exten => 1,n,Set(_HANGUP=${TRUNK_OPTIONS})
exten => 1,n,Set(TIMEOUT(digit)=4)
exten => 1,n,Set(TIMEOUT(response)=50)
exten => 1,n,DISA(no-password,disa-dial)
exten => 1,n(end),Hangup [/code]

With this code i can collect digits ( variable “conference_id” ) but i don’t know how to pass to dial-disa.
Any help??

[code][app-announcement-4]
include => app-announcement-4-custom
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})

exten => s,1,GotoIf($["${CDR(disposition)}" = “ANSWERED”]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Noop(Playing announcement Lingua ENG - LW4YOU)
exten => s,n,Read(conference_id,custom/Lw4You_ENG,noanswer)
exten => s,n,Goto(disa,1,1)

;–== end of [app-announcement-4] ==–;

[disa]
include => disa-custom
exten => 1,1,Answer
exten => 1,n,Set(_DISA=disa^1^newcall)
exten => 1,n(newcall),Set(_DISACONTEXT=from-internal)
exten => 1,n,Set(_KEEPCID=TRUE)
exten => 1,n,Set(_HANGUP=${TRUNK_OPTIONS})
exten => 1,n,Set(TIMEOUT(digit)=4)
exten => 1,n,Set(TIMEOUT(response)=50)
exten => 1,n,DISA(no-password,disa-dial)
exten => 1,n(end),Hangup

;–== end of [disa] ==–;

[disa-dial]
include => disa-dial-custom
exten => _[0-9a-zA-Z],1,Noop(called ${EXTEN} in ${DISACONTEXT} by ID: ${CUT(DISA,^,2)})
exten => _[0-9a-zA-Z],n,Dial(Local/${EXTEN}@${DISACONTEXT},300,${HANGUP})
exten => _[0-9a-zA-Z],n,Gosub(s-${DIALSTATUS},1())
exten => _[0-9a-zA-Z],n,Goto(${CUT(DISA,^,1)},${CUT(DISA,^,2)},${CUT(DISA,^,3)})

exten => _[0-9a-zA-Z*#].,1,Noop(called ${EXTEN} in ${DISACONTEXT} by ID: ${CUT(DISA,^,2)})
exten => _[0-9a-zA-Z*#].,n,Dial(Local/${EXTEN}@${DISACONTEXT},300,${HANGUP})
exten => _[0-9a-zA-Z*#].,n,Gosub(s-${DIALSTATUS},1())
exten => _[0-9a-zA-Z*#].,n,Goto(${CUT(DISA,^,1)},${CUT(DISA,^,2)},${CUT(DISA,^,3)})

exten => s-ANSWER,1,Return()

exten => s-CANCEL,1,Return()

exten => s-BUSY,1,Playtones(busy)
exten => s-BUSY,n,Wait(3)
exten => s-BUSY,n,Return()

exten => _s-.,1,Noop(DISA Dial failed due to ${DIALSTATUS} - returning to dial tone)
exten => _s-.,n,Playtones(congestion)
exten => _s-.,n,Wait(3)
exten => _s-.,n,StopPlaytones
exten => _s-.,n,Return()
[/code]

Hello Spady,

Are you sure about wanting to use DISA?

From your explenation I assume you want to be connected to a conference room…?

If so, I would just use read, after reading the conference id into the variable “conferenceid” run the command: MeetMe(${conferenceid},[,[options][,pin]])

Hope this helps… if not, then some more info is needed about what you want to do.

Good luck.

[quote=“meightee”]Hello Spady,

Are you sure about wanting to use DISA?

From your explenation I assume you want to be connected to a conference room…?

If so, I would just use read, after reading the conference id into the variable “conferenceid” run the command: MeetMe(${conferenceid},[,[options][,pin]])

Hope this helps… if not, then some more info is needed about what you want to do.

Good luck.[/quote]

Not really meightee; in this case asterisk is used as a “bridge” from company PBX and Cisco conference center.

btw i solved not using DISA anymore but as shown on next code:

[code][app-announcement-1]
include => app-announcement-1-custom
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})

exten => s,1,GotoIf($["${CDR(disposition)}" = “ANSWERED”]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Noop(Playing announcement Lingua ENG - LW4YOU)
exten => s,n,Read(CONFERENCE_ID,custom/Lw4You_ENG_OK,3,)
exten => s,n,Dial(Local/${CONFERENCE_ID}@from-internal,300,${HANGUP})[/code]