| 1151 | |
| 1152 | |
| 1153 | int t_unref( struct sip_msg* p_msg ) |
| 1154 | { |
| 1155 | enum kill_reason kr; |
| 1156 | |
| 1157 | if (T==T_UNDEFINED) |
| 1158 | return -1; |
| 1159 | if (T!=T_NULL_CELL) { |
| 1160 | if (p_msg->first_line.type==SIP_REQUEST){ |
| 1161 | kr=get_kr(); |
| 1162 | if (kr==0 ||(p_msg->REQ_METHOD==METHOD_ACK && !(kr & REQ_RLSD))) |
| 1163 | t_release_transaction(T); |
| 1164 | } |
| 1165 | UNREF( T ); |
| 1166 | } |
| 1167 | set_t(T_UNDEFINED); |
| 1168 | return 1; |
| 1169 | } |
| 1170 | |
| 1171 | void t_ref_cell(struct cell *c) |
| 1172 | { |
no test coverage detected