FreePBX: Direct Pickup Retransmission Error

Hi All,

iam running FreePBX, and it works fine, but the direct Pickup wont work.

General Information:
FreePBX with Sirrix Card (4 Channels)
Devices are Yeahlink SIP-T28P

When i try to pickup the call (for example: **16) the CLI show the following error:

[Sep 27 14:07:34] WARNING[2975]: chan_sip.c:3726 retrans_pkt: Retransmission timeout reached on transmission [email protected] for seqno 11 (Critical Response) – See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 6400ms with no response
[Sep 27 14:07:34] WARNING[2975]: chan_sip.c:3755 retrans_pkt: Hanging up call [email protected] - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).

I dont understand, why i have a nat error, all devices are in the same subnet 192.168.1.2/24, so they need no nat.

The complete logfile when i dialed form external to 16 and pick them up with device 80

-- Executing [**16@DW-context_rulematch:3] Pickup("SIP/80-00000087", "16&16@PICKUPMARK") in new stack

[Sep 27 14:07:27] NOTICE[9939]: app_directed_pickup.c:313 pickup_exec: No target channel found for 16.
== Spawn extension (DW-context_rulematch, **16, 3) exited non-zero on ‘SIP/16-00000086’
– Executing [h@DW-context_rulematch:1] Macro(“SIP/16-00000086”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/16-00000086”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] Hangup(“SIP/16-00000086”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on ‘SIP/16-00000086’ in macro ‘hangupcall’
== Spawn extension (DW-context_rulematch, h, 1) exited non-zero on ‘SIP/16-00000086’
– SIP/80-00000087 answered Srx/gDW-0xa792070
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix.cpp:4345 srx_indicate: srx_indicate, condition=0xffffffff, hangupcause=0
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix.cpp:1957 srx_answer: srx_answer START
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix.cpp:978 cc_send_setup_response: connected to ‘16’
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix_data.cpp:296 cc_set_echo_cancel: srxpvt (0xa792070) is NOT digital
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix_data.cpp:286 cc_disable_echo_cancel: cc_disable_echo_cancel: 0xa792070
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix_data.cpp:320 cc_set_gains: srxpvt (0xa792070) is NOT digital
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix.cpp:2005 srx_answer: srx_answer END
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix.cpp:4345 srx_indicate: srx_indicate, condition=0xffffffff, hangupcause=0
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix.cpp:4345 srx_indicate: srx_indicate, condition=0x00000014, hangupcause=0
[Sep 27 14:07:28] DEBUG[9935]: chan_sirrix.cpp:4345 srx_indicate: srx_indicate, condition=0x00000016, hangupcause=0
[Sep 27 14:07:28] NOTICE[9935]: chan_sirrix.cpp:4453 srx_indicate: Don’t know how to set condition 22 on channel Srx/gDW-0xa792070
== Extension Changed 16[ext-local] new state Idle for Notify User 14
== Extension Changed 16[ext-local] new state Idle for Notify User 16
== Extension Changed 16[ext-local] new state Idle for Notify User 21
== Extension Changed 16[ext-local] new state Idle for Notify User 15
== Extension Changed 16[ext-local] new state Idle for Notify User 12
== Extension Changed 16[ext-local] new state Idle for Notify User 13
[Sep 27 14:07:28] DEBUG[9898]: chan_sirrix.cpp:3490 cc_handle_ccmsg: Facility IE is an AOCDChargingUnit invoke with invokeID=30949
[Sep 27 14:07:34] WARNING[2975]: chan_sip.c:3726 retrans_pkt: Retransmission timeout reached on transmission [email protected] for seqno 11 (Critical Response) – See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 6400ms with no response
[Sep 27 14:07:34] WARNING[2975]: chan_sip.c:3755 retrans_pkt: Hanging up call [email protected] - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
[Sep 27 14:07:34] DEBUG[9935]: chan_sirrix.cpp:4345 srx_indicate: srx_indicate, condition=0x00000014, hangupcause=0
– Executing [h@macro-dial-one:1] Macro(“Srx/gDW-0xa792070”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“Srx/gDW-0xa792070”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] Hangup(“Srx/gDW-0xa792070”, “”) in new stack

I hope the error description is good enough, if you missing some input, please tell me.

Since it uses a custom channel driver I don’t think anyone can help you.

I personally have never heard of chan_sirrix

The chan_sirrix belongs to standard (EURO-) ISDN interface-cards.
The problem however seems to be unrelated to those cards, since it clearly mentions a chan_sip retransmission timeout error - so I would guess it has nothing to do with the ISDN-leg of the call but maybe quite a lot with NAT or firewall issues.

I haven’t experienced this myself, but I have a friend who uses Yealink extensively. I believe he mentioned to me that there is a firmware bug in the Yealink directed call pickup programming. Don’t have much more than that, or if it is related to your problem.

We have another Asterisk with a Sirrix Card, on this the Pickup worked correctly (**XX). There is the following Notice in the Logfile too:

NOTICE[7658]: chan_sirrix.cpp:4453 srx_indicate: Don’t know how to set condition 22 on channel Srx/gDW-0x8b48e20

This causn’t the Error.

WARNING[4309]: chan_sip.c:3726 retrans_pkt: Retransmission timeout reached on transmission [email protected] for seqno 8 (Critical Response)
Packet timed out after 6399ms with no response
WARNING[4309]: chan_sip.c:3755 retrans_pkt: Hanging up call [email protected] - no reply to our critical packet

I try to debug with “sip set debug on” for getting more Information about the packets but i can’t retrieve (for fixing the problem).

If need some part of the configuration, pls tell me.

The FreePBX without Pickup isnt a good Solution