I am using RetryDial to attempt to redial in case of congestion etc. It seems to work, except that the last attempt is not executed. Here is the relevant part of my dialplan:

exten => _1NXXNXXXXXX,n(dondone),RetryDial(pls-hold-while-try,10,2,SIP/${EXTEN}@${TRUNKLINE},60,r)
exten => _1NXXNXXXXXX,n,GoSub(check-dialstatus,s,1)
exten => _1NXXNXXXXXX,n,Playtones(480+620/250,0/250)
exten => _1NXXNXXXXXX,n,Congestion(5)

In this case retries is set to 2, so asterisk dials the first time, then if the call fails, it waits 10 seconds and tries again. However, if the call fails the second time, it waits 10 seconds then immediately passes to the next priority. This makes the final wait a bit pointless, although I suppose I could add a Dial(… after RetryDial. As far as I can tell, ‘retries’ means retries, not total tries, i.e. 3 attempts in total in this case. Or am I interpreting the documentation incorrectly?