Asterisk + Digium TDM410P + Panasonic PBX

Hello,

I have a Panasonic PBX with several phones including door phone. This PBX allows to opening the door by calling extension 551. This is part of an old system which I can not replace.

Next to this I have Asterisk with Digium TDP410P card. One port is connected to Panasonic. Another ports are used for phones. I have setup Asterisk so that when I call 551 on one of those Asterisk phones it will call 551 on the Panasonic (which opens the door). And this is working just fine (Also I am able to call the door with 311)

Now, when I call the door on 311 (or door calls and some of the Asterisk phones picks up) I want to be able to open the door during the call.

I have enable the transfer feature and when call between door and phone is answered *551 will dial 551 to Panasonic.

This is my extensions.conf:

[from-internal]
exten=>551,1,Goto(open-door,s,1)
exten=>311,1,Goto(call-door,s,1)

[open-door]
exten => s,1,Dial(DAHDI/g1/551)

[call-door]
exten => s,1,Dial(DAHDI/g1/311,20,T)
exten => 551,1,Dial(DAHDI/1/551)

[from-pstn]
exten => s,1,Verbose(Incomming call from line -- Caller=${CALLERID} - ${EXTEN})
same => n,Dial(DAHDI/2) ;TODO: try to add t option here

But during the call Dial(DAHDI/g1/551) is not working.
Here is part of the debug log from Asterisk:

    -- Executing [311@from-internal:1] Goto("DAHDI/2-1", "call-door,s,1") in new stack
    -- Goto (call-door,s,1)
    -- Executing [s@call-door:1] Dial("DAHDI/2-1", "DAHDI/g1/311,20,T") in new stack
    -- Called DAHDI/g1/311
    -- DAHDI/1-1 answered DAHDI/2-1
    -- Channel DAHDI/1-1 joined 'simple_bridge' basic-bridge <b69704df-bb79-49a9-9ebc-4e463f12fa4a>
    -- Channel DAHDI/2-1 joined 'simple_bridge' basic-bridge <b69704df-bb79-49a9-9ebc-4e463f12fa4a>
    -- Started music on hold, class 'default', on channel 'DAHDI/1-1'
    -- <DAHDI/2-1> Playing 'pbx-transfer.gsm' (language 'en')
    -- Executing [551@call-door:1] Dial("Local/551@call-door-00000001;2", "DAHDI/1/551") in new stack
    -- Channel Local/551@call-door-00000001;1 joined 'simple_bridge' basic-bridge <1ac499b6-e0e0-45b8-a82f-e21d0eaf0b37>
[Jul 29 12:33:19] WARNING[1673][C-00000009]: app_dial.c:2530 dial_exec_full: Unable to create channel of type 'DAHDI' (cause 17 - User busy)
    -- Channel DAHDI/2-1 left 'simple_bridge' basic-bridge <b69704df-bb79-49a9-9ebc-4e463f12fa4a>
    -- Channel DAHDI/2-1 joined 'simple_bridge' basic-bridge <1ac499b6-e0e0-45b8-a82f-e21d0eaf0b37>
  == Everyone is busy/congested at this time (1:1/0/0)
    -- Auto fallthrough, channel 'Local/551@call-door-00000001;2' status is 'BUSY'
    -- Channel DAHDI/2-1 left 'simple_bridge' basic-bridge <1ac499b6-e0e0-45b8-a82f-e21d0eaf0b37>
    -- Channel Local/551@call-door-00000001;1 left 'simple_bridge' basic-bridge <1ac499b6-e0e0-45b8-a82f-e21d0eaf0b37>
    -- Channel Local/551@call-door-00000001;1 joined 'simple_bridge' basic-bridge <b69704df-bb79-49a9-9ebc-4e463f12fa4a>
  == Spawn extension (call-door, s, 1) exited non-zero on 'DAHDI/2-1'
    -- Hanging up on 'DAHDI/2-1'
    -- Hungup 'DAHDI/2-1'
    -- Stopped music on hold on DAHDI/1-1

On the phones connected to Panasonic the same thing is working with the Flash + 551. How should I set this up to be able to open the door during call also from Asterisk phones?

My guess is that you need to do a blind transfer, but flash generates an attended transfer. Using DTMF features would be the only way of doing that.

The actual restriction appears to be being imposed by the Panasonic.