Index: channels/sig_ss7.c =================================================================== --- channels/sig_ss7.c (revision 355573) +++ channels/sig_ss7.c (working copy) @@ -1656,6 +1656,8 @@ switch (condition) { case AST_CONTROL_BUSY: res = sig_ss7_play_tone(p, SIG_SS7_TONE_BUSY); + chan->hangupcause = AST_CAUSE_USER_BUSY; + sig_ss7_hangup(p,chan); break; case AST_CONTROL_RINGING: ss7_grab(p, p->ss7); @@ -1719,9 +1721,11 @@ break; } chan->hangupcause = AST_CAUSE_INVALID_NUMBER_FORMAT; + sig_ss7_hangup(p,chan); break; case AST_CONTROL_CONGESTION: chan->hangupcause = AST_CAUSE_CONGESTION; + sig_ss7_hangup(p,chan); break; case AST_CONTROL_HOLD: ast_moh_start(chan, data, p->mohinterpret);