[OpenSIPS-Users] null dialog error on callee BYE
Kingsley Tart
kingsley at dns99.co.uk
Thu Jun 10 17:24:59 EST 2021
Hi,
I'm getting null dialog errors when the callee hangs up, but not when
the caller hangs up.
In this example, I'm calling from gw2 to gw1. The call gets answered.
If gw2 hangs up, all is good. If gw1 hangs up, it is not.
This is the top of my routing script (xlog just for diags):
if (has_totag()) {
if (is_method("ACK") && t_check_trans()) {
t_relay();
exit;
}
if (!loose_route()) {
xlog("NOT loose_route()\n");
send_reply(404, "Not here");
exit;
} else {
xlog("loose_route() OK\n");
}
if (!validate_dialog()) {
xlog("Ignoring $rm from $si due to invalid dialog; rc=$rc\n");
exit;
}
if (is_method("BYE")) {
route(acc_leg_set_end_reason);
}
route(relay);
exit;
}
And this is the dialog match mode:
modparam("dialog", "dlg_match_mode", 1)
I'm calling record_route() and then create_dialog("pP") when I receive
an INVITE.
If the call is answered and then gw1 sends the BYE, I get this in the
opensips log:
loose_route() OK
ERROR:dialog:w_validate_dialog: null dialog
Ignoring BYE from 79.121.42.21 due to invalid dialog; rc=-4
and I see the following SIP messages coming from gw1, and re-trying
because I'm dropping the messages due to null dialog:
(RX and TX from the perspective of OpenSIPS)
RX<-gw1 U 2021/06/10 17:58:44.950661 79.121.42.21:5060 -> 79.121.42.45:5060 #29059
RX<-gw1 BYE sip:asterisk at 79.121.42.45:5060 SIP/2.0.
RX<-gw1 Via: SIP/2.0/UDP 79.121.42.21:5060;rport;branch=z9hG4bKPjc946d0af-e97d-4f85-b592-58df46d73d0e.
RX<-gw1 From: <sip:02030212929 at 79.121.42.21>;tag=0b7b5a28-2dc1-493f-8d74-c939674643f3.
RX<-gw1 To: <sip:01743272015 at 79.121.42.22>;tag=682e4380-74c8-4a53-a1f4-a339d758c986.
RX<-gw1 Call-ID: cc4f4b92-7ba0-4c43-9b8e-c467fa897460.
RX<-gw1 CSeq: 30163 BYE.
RX<-gw1 Route: <sip:79.121.42.45;lr;did=d9c.67fcbf86>.
RX<-gw1 Reason: Q.850;cause=16.
RX<-gw1 Max-Forwards: 70.
RX<-gw1 User-Agent: Asterisk PBX 13.27.0.
RX<-gw1 Content-Length: 0.
RX<-gw1 .
RX<-gw1 U 2021/06/10 17:58:45.451242 79.121.42.21:5060 -> 79.121.42.45:5060 #29060
RX<-gw1 BYE sip:asterisk at 79.121.42.45:5060 SIP/2.0.
RX<-gw1 Via: SIP/2.0/UDP 79.121.42.21:5060;rport;branch=z9hG4bKPjc946d0af-e97d-4f85-b592-58df46d73d0e.
RX<-gw1 From: <sip:02030212929 at 79.121.42.21>;tag=0b7b5a28-2dc1-493f-8d74-c939674643f3.
RX<-gw1 To: <sip:01743272015 at 79.121.42.22>;tag=682e4380-74c8-4a53-a1f4-a339d758c986.
RX<-gw1 Call-ID: cc4f4b92-7ba0-4c43-9b8e-c467fa897460.
RX<-gw1 CSeq: 30163 BYE.
RX<-gw1 Route: <sip:79.121.42.45;lr;did=d9c.67fcbf86>.
RX<-gw1 Reason: Q.850;cause=16.
RX<-gw1 Max-Forwards: 70.
RX<-gw1 User-Agent: Asterisk PBX 13.27.0.
RX<-gw1 Content-Length: 0.
RX<-gw1 .
RX<-gw1 U 2021/06/10 17:58:46.450860 79.121.42.21:5060 -> 79.121.42.45:5060 #29061
RX<-gw1 BYE sip:asterisk at 79.121.42.45:5060 SIP/2.0.
RX<-gw1 Via: SIP/2.0/UDP 79.121.42.21:5060;rport;branch=z9hG4bKPjc946d0af-e97d-4f85-b592-58df46d73d0e.
RX<-gw1 From: <sip:02030212929 at 79.121.42.21>;tag=0b7b5a28-2dc1-493f-8d74-c939674643f3.
RX<-gw1 To: <sip:01743272015 at 79.121.42.22>;tag=682e4380-74c8-4a53-a1f4-a339d758c986.
RX<-gw1 Call-ID: cc4f4b92-7ba0-4c43-9b8e-c467fa897460.
RX<-gw1 CSeq: 30163 BYE.
RX<-gw1 Route: <sip:79.121.42.45;lr;did=d9c.67fcbf86>.
RX<-gw1 Reason: Q.850;cause=16.
RX<-gw1 Max-Forwards: 70.
RX<-gw1 User-Agent: Asterisk PBX 13.27.0.
RX<-gw1 Content-Length: 0.
RX<-gw1 .
but if the caller (gw2) hangs up and sends the BYE, then all is fine:
RX<-gw2 U 2021/06/10 17:57:37.506889 79.121.42.22:5060 -> 79.121.42.45:5060 #29043
RX<-gw2 BYE sip:79.121.42.21:5060 SIP/2.0.
RX<-gw2 Via: SIP/2.0/UDP 79.121.42.22:5060;rport;branch=z9hG4bKPjdf132a9c-ee20-4cbd-bbf4-ccb3d0aaab42.
RX<-gw2 From: <sip:01743272015 at 79.121.42.22>;tag=c91f69bc-9548-4245-86b9-a9202d0b33c8.
RX<-gw2 To: <sip:02030212929 at 79.121.42.45>;tag=3d0cfd81-357b-448f-92ab-712aadfdf895.
RX<-gw2 Call-ID: 38e1a3aa-54d3-456a-99b2-201295179c95.
RX<-gw2 CSeq: 9118 BYE.
RX<-gw2 Route: <sip:79.121.42.45;lr;did=fcb.680bf303>.
RX<-gw2 Reason: Q.850;cause=16.
RX<-gw2 Max-Forwards: 70.
RX<-gw2 User-Agent: Asterisk PBX 13.27.0.
RX<-gw2 Content-Length: 0.
RX<-gw2 .
TX->gw1 U 2021/06/10 17:57:37.507451 79.121.42.45:5060 -> 79.121.42.21:5060 #29044
TX->gw1 BYE sip:79.121.42.21:5060 SIP/2.0.
TX->gw1 Via: SIP/2.0/UDP 79.121.42.45:5060;branch=z9hG4bK5071.80e2e516.0.
TX->gw1 Via: SIP/2.0/UDP 79.121.42.22:5060;received=79.121.42.22;rport=5060;branch=z9hG4bKPjdf132a9c-ee20-4cbd-bbf4-ccb3d0aaab42.
TX->gw1 From: <sip:01743272015 at 79.121.42.22>;tag=c91f69bc-9548-4245-86b9-a9202d0b33c8.
TX->gw1 To: <sip:02030212929 at 79.121.42.45>;tag=3d0cfd81-357b-448f-92ab-712aadfdf895.
TX->gw1 Call-ID: 38e1a3aa-54d3-456a-99b2-201295179c95.
TX->gw1 CSeq: 9118 BYE.
TX->gw1 Reason: Q.850;cause=16.
TX->gw1 Max-Forwards: 70.
TX->gw1 User-Agent: Asterisk PBX 13.27.0.
TX->gw1 Content-Length: 0.
TX->gw1 .
RX<-gw1 U 2021/06/10 17:57:37.508346 79.121.42.21:5060 -> 79.121.42.45:5060 #29045
RX<-gw1 SIP/2.0 200 OK.
RX<-gw1 Via: SIP/2.0/UDP 79.121.42.45:5060;rport=5060;received=79.121.42.45;branch=z9hG4bK5071.80e2e516.0.
RX<-gw1 Via: SIP/2.0/UDP 79.121.42.22:5060;rport=5060;received=79.121.42.22;branch=z9hG4bKPjdf132a9c-ee20-4cbd-bbf4-ccb3d0aaab42.
RX<-gw1 Call-ID: 38e1a3aa-54d3-456a-99b2-201295179c95.
RX<-gw1 From: <sip:01743272015 at 79.121.42.22>;tag=c91f69bc-9548-4245-86b9-a9202d0b33c8.
RX<-gw1 To: <sip:02030212929 at 79.121.42.45>;tag=3d0cfd81-357b-448f-92ab-712aadfdf895.
RX<-gw1 CSeq: 9118 BYE.
RX<-gw1 Server: Asterisk PBX 13.27.0.
RX<-gw1 Content-Length: 0.
RX<-gw1 .
TX->gw2 U 2021/06/10 17:57:37.509205 79.121.42.45:5060 -> 79.121.42.22:5060 #29046
TX->gw2 SIP/2.0 200 OK.
TX->gw2 Via: SIP/2.0/UDP 79.121.42.22:5060;rport=5060;received=79.121.42.22;branch=z9hG4bKPjdf132a9c-ee20-4cbd-bbf4-ccb3d0aaab42.
TX->gw2 Call-ID: 38e1a3aa-54d3-456a-99b2-201295179c95.
TX->gw2 From: <sip:01743272015 at 79.121.42.22>;tag=c91f69bc-9548-4245-86b9-a9202d0b33c8.
TX->gw2 To: <sip:02030212929 at 79.121.42.45>;tag=3d0cfd81-357b-448f-92ab-712aadfdf895.
TX->gw2 CSeq: 9118 BYE.
TX->gw2 Server: Asterisk PBX 13.27.0.
TX->gw2 Content-Length: 0.
TX->gw2 .
Am I doing something silly here?
Cheers,
Kingsley.
More information about the Users
mailing list