How setup redudant trunks in the dialplan?

Would this actually work if the call couldn’t be completed using Trunk1?

exten => _9NXXNXXXXXX,1,Dial(${Trunk1}/1${EXTEN:1})
exten => _9NXXNXXXXXX,2,Congestion()
exten => _9NXXNXXXXXX,102,Dial(${Trunk2}/1${EXTEN:1})

How would I failover to a third trunk?

You want something like this:

exten => _9NXXNXXXXXX,1,Dial(${Trunk1}/1${EXTEN:1})
exten => _9NXXNXXXXXX,2,Dial(${Trunk2}/1${EXTEN:1})
exten => _9NXXNXXXXXX,3,Congestion()

Save congestion until last.