Grouping sip channels

Hello, i have 8 sip channels and i want to use them as a sip trunk, for example in the dialplan i uso dial(SIP/Trunk) and asterisk use the first of the 8 channels wich isn’t busy. Any suggestions?

Thanks in advence

I had thought something like this:

When i want to make the call i use always sip/100, and then if this is busy the call goes to another channel, for example with 2 channels:

exten => 100,1,Dial(Sip/100)
exten => 100,2,hangup()
exten => 100,103,goto(extension 200)

exten => 200,1,Dial(Sip/200)
exten => 200,2,hangup()
exten => 200,103,goto(extension 100)

So if SIP/100 is not busy, the call uses this channel and then hangup. If sip/100 is busy the call goes to the extension 200, when it happens the same. So the call is jumping between extensions 100 and 200 until the call enters in sip/100 or sip/200 (a free channel).

Is that right? Is there another way for doing this for outgoing calls?? For incoming calls i found queues, but nothing for outgoings.

Thanks in advance