Hoola!
Estoy hecho un lío sobre como gestionar los ACK:
* En situaciones in-dialog hago lo siguiente:
if (method=="ACK") {
xlog("L_INFO","$C(px) -- ACK -- $C(xx)\n");
if (t_check_trans()) {
## non loose-route, but stateful ACK;
must be an ACK after a 487 or e.g. 404 from upstream server
route(1);
exit;
}
else {
## ACK without matching transaction
... ignore and discard.
exit;
}
}
* Pero cuando llamo a un usuario inexistente me llegan un montón de
ACKs fuera del diálogo :-O
U +3.918025 10.245.145.27:5060 -> 10.10.0.117:2054
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP 10.10.0.117:2054;branch=z9hG4bK-4q9dht0vt0qh;rport=2054
From: "1001" <sip:1001@10.245.145.27>;tag=7jzn8lgj9h
To: <sip:1123@10.245.145.27>;tag=as186a86b9
Call-ID: 3c26a67168fb-pmn33w87knd0@snom320-00041327D5A5
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Length: 0
X-Asterisk-HangupCause: No route to destination
X-Asterisk-HangupCauseCode: 3
#
U +0.077320 10.10.0.117:2054 -> 10.245.145.27:5060
ACK sip:1123@10.245.145.27 SIP/2.0
Via: SIP/2.0/UDP 10.10.0.117:2054;branch=z9hG4bK-4q9dht0vt0qh;rport
From: "1001" <sip:1001@10.245.145.27>;tag=7jzn8lgj9h
To: <sip:1123@10.245.145.27>;tag=as186a86b9
Call-ID: 3c26a67168fb-pmn33w87knd0@snom320-00041327D5A5
CSeq: 2 ACK
Max-Forwards: 70
Contact: <sip:1001@10.10.0.117:2054;line=xqknsd62>;flow-id=1
Content-Length: 0
Esto unas 8 veces!!
Qué se supone que debería hacer con esto?
Gracias por cualquier pista...
--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/