I do not understand my extensions.conf

I have got installed my Asterisk 1.2 from a coder who is not longer available and I try to analyze my extensions.conf

But I have some problems to understand it starting from line [fax-in].

As I have analyzed, there are a loop to test the modems because they are free or not. This is needed because we like to use 15 channels for incoming and 15 channels for outgoing faxes AND if the 15 incoming lines busy, we need to use free outgoing channels.
What I not understand is that the loop is running to 20 and to 50, but we have only 15 or 30 modems. Is that not a problem?
Or has anybody an idea for a more easy function?

My really problem is that we got a lot of send-errors if we add some hundred or thousand outgoing faxes to the queue. But I am not sure about the reason.

Has anybody answers to my questions or ideas where the problem can be?

[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=no

[globals]
modem1=iaxmodem001
modem2=iaxmodem002
modem3=iaxmodem003
modem4=iaxmodem004
modem5=iaxmodem005
modem6=iaxmodem006
modem7=iaxmodem007
modem8=iaxmodem008
modem9=iaxmodem009
modem10=iaxmodem010
modem11=iaxmodem011
modem12=iaxmodem012
modem13=iaxmodem013
modem14=iaxmodem014
modem15=iaxmodem015
modem_in1=iaxmodem016
modem_in2=iaxmodem017
modem_in3=iaxmodem018
modem_in4=iaxmodem019
modem_in5=iaxmodem020
modem_in6=iaxmodem021
modem_in7=iaxmodem022
modem_in8=iaxmodem023
modem_in9=iaxmodem024
modem_in10=iaxmodem025
modem_in11=iaxmodem026
modem_in12=iaxmodem027
modem_in13=iaxmodem028
modem_in14=iaxmodem029
modem_in15=iaxmodem030

current=0
current_in=0

[default]
exten => _X.,1,Hangup()
exten => s,1,Hangup()

[fax-out]
exten => _X.,1,NoOp(Outgoing call from: ${CALLERID(num)} ${CALLERID(name)}\, to: ${EXTEN})
exten => _X.,2,Dial(CAPI/ISDN1/${EXTEN},60)
exten => _X.,3,Hangup

[inbound]
exten => _X.,1,NoOp(Incoming call from: ${CALLERID(num)} ${CALLERID(name)}\, to: ${EXTEN}. DNID=${DNID})

exten => _3XXX,2,Goto(fax-in,${EXTEN},1)
exten => 5000,2,Goto(fax-in,${EXTEN},1)
exten => 6000,2,Goto(fax-in,${EXTEN},1)
exten => _7XXX,2,Goto(fax-in,${EXTEN},1)

[fax-in]
exten => _X.,1,NoOp(FAX call)
exten => _X.,n,Set(LOOP=0)
exten => _X.,n(loop),Set(MODEMGROUP=${IF($[${LOOP} > 20]?modem:modem_in)})
exten => _X.,n,GotoIf($["${MODEMGROUP}" = "modem"]?loopmodem:loopmodem_in)
exten => _X.,n(loopmodem),Set(current=${IF($["${modem$[${current}+1]}" != ""]?$[${current}+1]:1)},g)
exten => _X.,n,Set(CURRENT=${current})
exten => _X.,n,Goto(dial)
exten => _X.,n(loopmodem_in),Set(current_in=${IF($["${modem_in$[${current_in}+1]}" != ""]?$[${current_in}+1]:1)},g)
exten => _X.,n,Set(CURRENT=${current_in})
exten => _X.,n,Goto(dial)
exten => _X.,n(dial),Set(LOOP=$[${LOOP}+1])
exten => _X.,n,Dial(IAX2/${${MODEMGROUP}${CURRENT}}/${EXTEN},5)
exten => _X.,n,GotoIf($[$["${DIALSTATUS}" != "ANSWER"] & $[${LOOP} < 50]]?loop)

;exten => _X.,n(loop),Set(current=${IF($["${modem_in$[${current}+1]}" != ""]?$[${current}+1]:1)},g)
;exten => _X.,n,Set(LOOP=$[${LOOP}+1])
;exten => _X.,n,Dial(IAX2/${modem${current}}/${EXTEN},5)
;exten => _X.,n,GotoIf($[$["${DIALSTATUS}" != "ANSWER"] & $[${LOOP} < 100]]?loop)
exten => _X.,n,NoOp(Error: all IAXmodems were busy)
exten => _X.,n,Hangup