Does anyone know why an Unlink event and a Bridge event is sent to the AMI, every time a user sends a DTMF-tone on an existing call? The calls are working fine and are not disconnected. But I have an application monitoring calls, and it thinks that the calls are disconnected, as it listens for unlink events.
It is new to me - but is it supposed to behave like this?
Running 1.6.2.14.
AMI:
-
Event: Unlink
-
Privilege: call,all
-
Channel1: SIP/3064-00002444
-
Channel2: SIP/Unotel-00002445
-
Uniqueid1: 1293534389.10719
-
Uniqueid2: 1293534389.10720
-
CallerID1: 12345678
-
CallerID2: 80808080
-
-
Event: Bridge
-
Privilege: call,all
-
Bridgestate: Link
-
Bridgetype: core
-
Channel1: SIP/3064-00002444
-
Channel2: SIP/Unotel-00002445
-
Uniqueid1: 1293534389.10719
-
Uniqueid2: 1293534389.10720
-
CallerID1: 12345678
-
CallerID2: 80808080
-
-
Event: Unlink
-
Privilege: call,all
-
Channel1: SIP/3064-00002444
-
Channel2: SIP/Unotel-00002445
-
Uniqueid1: 1293534389.10719
-
Uniqueid2: 1293534389.10720
-
CallerID1: 12345678
-
CallerID2: 80808080
-
-
Event: Bridge
-
Privilege: call,all
-
Bridgestate: Link
-
Bridgetype: core
-
Channel1: SIP/3064-00002444
-
Channel2: SIP/Unotel-00002445
-
Uniqueid1: 1293534389.10719
-
Uniqueid2: 1293534389.10720
-
CallerID1: 12345678
-
CallerID2: 80808080
I am having the same issue. Trying to use ## as the blind transfer code, and when you dial ## on the phone device, you get an unlink, bridge, unlink on the AMI. Changing back to a single # (the default) gives just one unlink event. I also tried using #8 and still get the unlink, bridge, unlink event series.
Using Asterisk ver 1.6.1.12.
Don’t have access to a 1.4 server to see if it shows the same results.
Is this normal behavior?
Hi jjblitz.
Nice to hear I’m not the only one.
But I am almost certain that this didn’t happen in version 1.6.2.12. I will try to downgrade after work hours tonight and run some tests.
Are you using asterisknow?
The bridging code can do very little other than forward packets. If anything unusual happens, like expected DTMF, it drops out to let the more general code handle the situation.
david55, I am not sure I follow. “Bridging code”, “forward packets” you say? It is events on the AMI. I have an application monitoring these events, and if the application sees an Unlink-event, it assumes the call has been disconnected.
“If anything unusual happens, like expected DTMF, it drops out to let the more general code handle the situation.” - what drops out? What general code and what situation?
The simple answer is that is how it works.
I’m afraid, if you don’t understand my short description, you are probably going to need an extended tutorial on Asterisk internals, and I don’t have time to provide that.
Maybe one point to note is that AMI events are dictated by the internal processing. The internal processing isn’t organised to produce particular events.
Okay, no matter if I understand it or not - are you saying that this is normal behaviour? Two unlink and two bridge events, every time a key is pressed on a phone during a call.
I’m saying I wouldn’t be surprised.
I’d also expect it to depend on whether Asterisk needs to react to DTMF digits, e.g. features.conf option, etc., i.e. the details of your dialplan may affect it. Certainly, it wouldn’t happen if there were a successful SIP re-invite for the call, because the bridge code wouldn’t see the DTMF.
The only thing I have in features.conf is this:
pickupexten = 8;
How would it look if it was to react on DTMF?
I will try to debug it and see if a SIP re-invite is sent.