logic if no active call for context, make call else if active call on context is same as number dialed hang it up else hangup any other active calls on context and call the number dialed [100] exten => 456,1,Set(CURRENTNUMBER=9999) exten => 456,n,Set(CURRENTNUMBER=${DB(100/NUMBER)}) exten => 456,n,GotoIf($[${CURRENTNUMBER} = 9999]?MAKECALL:CHECKNUMBER) exten => 456,n(CHECKNUMBER),GotoIf($[${CURRENTNUMBER}=456]?HANGUP:MAKECALL) exten => 456,n(MAKECALL),HangUp() exten => 456,n,Set(DB(100/NUMBER)=456) exten => 456,n,DIAL(SIP/456,20,gWW) exten => 456,n(HANGUP),HangUP(); exten => 456,n,DBDelete(100/NUMBER) exten => 123,1,Set(CURRENTNUMBER=9999) exten => 123,n,Set(CURRENTNUMBER=${DB(100/NUMBER)}) exten => 123,n,GotoIf($[${CURRENTNUMBER} = 9999]?MAKECALL:CHECKNUMBER) exten => 123,n(CHECKNUMBER),GotoIf($[${CURRENTNUMBER}=123]?HANGUP:MAKECALL) exten => 123,n(MAKECALL),HangUp() exten => 123,n,Set(DB(100/NUMBER)=123) exten => 123,n,DIAL(SIP/123,20,gWW) exten => 123,n(HANGUP),HangUP(); exten => 123,n,DBDelete(100/NUMBER) [200] exten => 456,1,Set(CURRENTNUMBER=9999) exten => 456,n,Set(CURRENTNUMBER=${DB(200/NUMBER)}) exten => 456,n,GotoIf($[${CURRENTNUMBER} = 9999]?MAKECALL:CHECKNUMBER) exten => 456,n(CHECKNUMBER),GotoIf($[${CURRENTNUMBER}=456]?HANGUP:MAKECALL) exten => 456,n(MAKECALL),HangUp() exten => 456,n,Set(DB(200/NUMBER)=456) exten => 456,n,DIAL(SIP/456,20,gWW) exten => 456,n(HANGUP),HangUP(); exten => 456,n,DBDelete(200/NUMBER) exten => 123,1,Set(CURRENTNUMBER=9999) exten => 123,n,Set(CURRENTNUMBER=${DB(200/NUMBER)}) exten => 123,n,GotoIf($[${CURRENTNUMBER} = 9999]?MAKECALL:CHECKNUMBER) exten => 123,n(CHECKNUMBER),GotoIf($[${CURRENTNUMBER}=123]?HANGUP:MAKECALL) exten => 123,n(MAKECALL),HangUp() exten => 123,n,Set(DB(200/NUMBER)=123) exten => 123,n,DIAL(SIP/123,20,gWW) exten => 123,n(HANGUP),HangUP(); exten => 123,n,DBDelete(200/NUMBER)