Importato causa 16 su reason Q850 Index: asterisk-13.21.1/res/res_pjsip_rfc3326.c =================================================================== --- asterisk-13.21.1.orig/res/res_pjsip_rfc3326.c +++ asterisk-13.21.1/res/res_pjsip_rfc3326.c @@ -94,12 +94,13 @@ static void rfc3326_incoming_response(st static void rfc3326_add_reason_header(struct ast_sip_session *session, struct pjsip_tx_data *tdata) { char buf[20]; - + int reason; if (ast_channel_hangupcause(session->channel) == AST_CAUSE_ANSWERED_ELSEWHERE) { ast_sip_add_header(tdata, "Reason", "SIP;cause=200;text=\"Call completed elsewhere\""); } - - snprintf(buf, sizeof(buf), "Q.850;cause=%i", ast_channel_hangupcause(session->channel) & 0x7f); + reason=ast_channel_hangupcause(session->channel); + if (reason==0) reason=16; + snprintf(buf, sizeof(buf), "Q.850;cause=%i", reason & 0x7f); ast_sip_add_header(tdata, "Reason", buf); }