Now that I have google Voice setup and working well (me=very happy), I’m now looking at using 2 different google voice accounts. I’ve setup the account details etc and have the calls being received for both numbers over to the Asterisk box.
However, the challenge is with my extensions_custom.conf. I believe that I need to route the calls to the correct incoming route based on the DID.
My configuration prior to adding a second account was (note 1617XXXXXXX is account Number 1 and 1617YYYYYYY is account number 2):
[from-google]
exten => s,1,Answer()
exten => s,n,Wait(2)
exten => s,n,SendDTMF(1)
exten => s,n,Set(TRXNUM=${CALLERID(name)})
exten => s,n,Set(TRXNUM=${CUT(TRXNUM,@,1)})
exten => s,n,Set(TRXNUM=${CUT(TRXNUM,+,2)})
exten => s,n,Set(CALLERID(num)=${TRXNUM})
exten => s,n,Goto(from-trunk,1617XXXXXXX,1)
exten => s,h,Hangup
Now, I figured that I need to use a GotoIf statement to route to the correct trunk:
[from-google]
exten => s,1,Answer()
exten => s,n,Wait(2)
exten => s,n,SendDTMF(1)
exten => s,n,Set(TRXNUM=${CALLERID(name)})
exten => s,n,Set(TRXNUM=${CUT(TRXNUM,@,1)})
exten => s,n,Set(TRXNUM=${CUT(TRXNUM,+,2)})
exten => s,n,Set(CALLERID(num)=${TRXNUM})
exten => s,n,GotoIf(???= 1617XXXXXXX]?from-trunk,1617XXXXXXX,1)
exten => s,n,GotoIf(???= 1617YYYYYYY]?from-trunk,1617YYYYYYY,1)
}
exten => s,h,Hangup
The question I have is what clause do I need to use / variable need to check in order to validate the DID? (represented by ???.
Also, thinking about this a little bit more, I probably could actually do something a little different as well:
[from-google]
exten => s,1,Answer()
exten => s,n,Wait(2)
exten => s,n,SendDTMF(1)
exten => s,n,Set(TRXNUM=${CALLERID(name)})
exten => s,n,Set(TRXNUM=${CUT(TRXNUM,@,1)})
exten => s,n,Set(TRXNUM=${CUT(TRXNUM,+,2)})
exten => s,n,Set(CALLERID(num)=${TRXNUM})
exten => s,n,Goto(from-trunk,${???},1)
exten => s,h,Hangup
This would set the DID when performing the Goto, however, again I still need to know what variable to use to determine the DID ( ${???} above).
Thanks guys
Andrew