Wrong voice-messages if channel is busy

Hi,
if got an Piaf-System which is conencted through an IAX2 Trunk to my Provider PBX-Network. Sadly there is no difference at the playback if the called person is busy ore if my iax2 channel does not work. May someone could explain me how i could make different announcements if channel is busy ore channels is not available?

Here are 2 LOGs.

Called person was busy:

2009-03-11 15:45:58] VERBOSE[11841] logger.c:     -- Executing [s@macro-dialout-trunk:19] Dial("SIP/15-19728020", "IAX2/PBX-Network/062172034|300|") in new stack
[2009-03-11 15:45:58] DEBUG[11841] chan_iax2.c: prepending 4 to prefs
[2009-03-11 15:45:58] VERBOSE[11841] logger.c:     -- Called PBX-Network/062172034
[2009-03-11 15:45:58] VERBOSE[2999] logger.c:     -- Call accepted by 62.216.189.151 (format alaw)
[2009-03-11 15:45:58] VERBOSE[2999] logger.c:     -- Format for call is alaw
[2009-03-11 15:45:59] VERBOSE[11841] logger.c:     -- IAX2/PBX-Network-8706 is making progress passing it to SIP/15-19728020
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:     -- Hungup 'IAX2/PBX-Network-8706'
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:   == Everyone is busy/congested at this time (1:0/0/1)
[2009-03-11 15:46:05] DEBUG[11841] app_macro.c: Executed application: Dial
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:     -- Executing [s@macro-dialout-trunk:20] Goto("SIP/15-19728020", "s-CHANUNAVAIL|1") in new stack
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:     -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
[2009-03-11 15:46:05] DEBUG[11841] app_macro.c: Executed application: Goto
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:     -- Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] GotoIf("SIP/15-19728020", "1?noreport") in new stack
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:     -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,3)
[2009-03-11 15:46:05] DEBUG[11841] app_macro.c: Executed application: GotoIf
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:     -- Executing [s-CHANUNAVAIL@macro-dialout-trunk:3] NoOp("SIP/15-19728020", "TRUNK Dial failed due to CHANUNAVAIL (hangupcause: 0) - failing through to other trunks") in new stack
[2009-03-11 15:46:05] DEBUG[11841] app_macro.c: Executed application: Noop
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:     -- Executing [062172034@from-internal:6] Macro("SIP/15-19728020", "outisbusy|") in new stack
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:     -- Executing [s@macro-outisbusy:1] Playback("SIP/15-19728020", "all-circuits-busy-now|noanswer") in new stack
[2009-03-11 15:46:05] VERBOSE[11841] logger.c:     -- <SIP/15-19728020> Playing 'all-circuits-busy-now' (language 'de')
[2009-03-11 15:46:07] DEBUG[11841] app_macro.c: Executed application: Playback
[2009-03-11 15:46:07] VERBOSE[11841] logger.c:     -- Executing [s@macro-outisbusy:2] Playback("SIP/15-19728020", "pls-try-call-later|noanswer") in new stack
[2009-03-11 15:46:07] VERBOSE[11841] logger.c:     -- <SIP/15-19728020> Playing 'pls-try-call-later' (language 'de')
[2009-03-11 15:46:08] VERBOSE[2994] logger.c:  Extension Changed 15[ext-local] new state Idle for Notify User 25
[2009-03-11 15:46:08] VERBOSE[11841] logger.c:   == Spawn extension (macro-outisbusy, s, 2) exited non-zero on 'SIP/15-19728020' in macro 'outisbusy'
[2009-03-11 15:46:08] VERBOSE[11841] logger.c:   == Spawn extension (macro-outisbusy, s, 2) exited non-zero on 'SIP/15-19728020'

IAX2 Channel is dead

[2009-03-12 10:10:25] VERBOSE[16232] logger.c:     -- Executing [s@macro-dialout-trunk:19] Dial("SIP/15-10a6e1a0", "IAX2/PBX-Network/0662980212|300|") in new stack
[2009-03-12 10:10:25] WARNING[16232] app_dial.c: Unable to create channel of type 'IAX2' (cause 3 - No route to destination)
[2009-03-12 10:10:25] VERBOSE[16232] logger.c:   == Everyone is busy/congested at this time (1:0/0/1)
[2009-03-12 10:10:25] DEBUG[16232] app_macro.c: Executed application: Dial
[2009-03-12 10:10:25] VERBOSE[16232] logger.c:     -- Executing [s@macro-dialout-trunk:20] Goto("SIP/15-10a6e1a0", "s-CHANUNAVAIL|1") in new stack
[2009-03-12 10:10:25] VERBOSE[16232] logger.c:     -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
[2009-03-12 10:10:25] DEBUG[16232] app_macro.c: Executed application: Goto
[2009-03-12 10:10:25] VERBOSE[16232] logger.c:     -- Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] GotoIf("SIP/15-10a6e1a0", "1?noreport") in new stack
[2009-03-12 10:10:25] VERBOSE[16232] logger.c:     -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,3)
[2009-03-12 10:10:25] DEBUG[16232] app_macro.c: Executed application: GotoIf
[2009-03-12 10:10:25] VERBOSE[16232] logger.c:     -- Executing [s-CHANUNAVAIL@macro-dialout-trunk:3] NoOp("SIP/15-10a6e1a0", "TRUNK Dial failed due to CHANUNAVAIL (hangupcause: 3) - failing through to other trunks") in new stack
[2009-03-12 10:10:25] DEBUG[16232] app_macro.c: Executed application: Noop
[2009-03-12 10:10:25] VERBOSE[16232] logger.c:     -- Executing [0662980212@from-internal:6] Macro("SIP/15-10a6e1a0", "outisbusy|") in new stack
[2009-03-12 10:10:25] VERBOSE[16232] logger.c:     -- Executing [s@macro-outisbusy:1] Playback("SIP/15-10a6e1a0", "all-circuits-busy-now|noanswer") in new stack
[2009-03-12 10:10:25] VERBOSE[16232] logger.c:     -- <SIP/15-10a6e1a0> Playing 'all-circuits-busy-now' (language 'de')
[2009-03-12 10:10:27] DEBUG[16232] app_macro.c: Executed application: Playback
[2009-03-12 10:10:27] VERBOSE[16232] logger.c:     -- Executing [s@macro-outisbusy:2] Playback("SIP/15-10a6e1a0", "pls-try-call-later|noanswer") in new stack
[2009-03-12 10:10:27] VERBOSE[16232] logger.c:     -- <SIP/15-10a6e1a0> Playing 'pls-try-call-later' (language 'de')

Ore may my provider doesnt correctly set the hangup-causes? May someone could test this on his iax2 channels what hangup-causes should be displayed if someone is busy?

Thanks alot

Greetings

Mysterious