[Home]

Summary:ASTERISK-26072: chan_sip: Asterisk 13 don't send INVITE with Replaces after accepted REFER
Reporter:Jose Molina (jose.molina)Labels:
Date Opened:2016-05-30 01:31:43Date Closed:
Priority:MajorRegression?
Status:Open/NewComponents:Channels/chan_sip/General
Versions:13.9.1 Frequency of
Occurrence
Related
Issues:
Environment:Ubuntu 12.04Attachments:( 0) debug_log_newasterisk13_transferFAIL_issue_26072.txt
( 1) debug_log_oldasterisk11_transferOK_issue_26072.txt
Description:Hi;

We use Asterisk as a gateway to connect PSTN with our SIP platform (an opensips proxy) with a SIP trunk. We upgraded our Asterisk gateway from version 11 to 13. After the migration, we have an issue with attended transfer with the chan_sip driver. This is the scenario:

1- PSTN number (user A) calls any extension of our SIP platform (user B). B answer the call
2- user B holds the incoming call and makes a second call to other SIP extension (user C) to initiate an attended transfer.
3- user B transfers the call for try to join A and C users but this transfer fails.

Analyzing the signalling traffic, we can see that the REFER message arrives from B to the gateway Asterisk with the Replaces header. Asterisk accepts the REFER message with a 202 Accepted response but doesn't send the INVITE with the replaces message to do the transfer. Asterisk send a NOTIFY with a sipfrag reporting 503 Service Unavaiable.
{noformat}
U 2016/05/30 08:20:02.3871052  1.1.1.2:5070 --> 1.1.1.1:5100
REFER sip:37233@1.1.1.1:5100 SIP/2.0.
Record-Route: <sip:xuser@1.1.1.2;lr=on;ftag=4FC4B456-84A45F87>.
Via: SIP/2.0/UDP 1.1.1.2:5070;branch=z9hG4bKa4e7.68946b95.0.
Via: SIP/2.0/UDP 1.1.1.2:5070;branch=z9hG4bKa4e7.58946b95.0.
Via: SIP/2.0/UDP 1.1.1.2;branch=z9hG4bKa4e7.5a17f5d2.0.
Via: SIP/2.0/UDP 1.1.1.3;rport=5060;branch=z9hG4bK3b060ecd72DB1B2E.
From: "userB" <sip:25988@mydomain.com:5070>;tag=4FC4B456-84A45F87.
To: "userA" <sip:37233@mydomian.com:5100>;tag=as04e841f5.
CSeq: 2 REFER.
Call-ID: 26fc844416113667695f1f3f06d22826@mydomain.com.
Contact: <sip:u8-3@1.1.1.2>.
Accept-Language: pl-pl,pl;q=0.9,en;q=0.8.
Refer-To: <sip:u6-676@1.1.1.2?Replaces=4827f2a1-e2ca8142-5416e633%401.1.1.3%3Bto-tag%3D1422695821%3Bfrom-tag%3D107F133D-7BEB429E>.
Referred-By: <sip:userB@mydomain.com>.
Max-Forwards: 11.
Content-Length: 0.
.


U 2016/05/30 08:20:02.387120 1.1.1.1:5100 -> 1.1.1.2:5070
SIP/2.0 202 Accepted.
Via: SIP/2.0/UDP 1.1.1.2:5070;branch=z9hG4bKa4e7.68946b95.0;received=1.1.1.2;rport=5070.
Via: SIP/2.0/UDP 1.1.1.2:5070;branch=z9hG4bKa4e7.58946b95.0.
Via: SIP/2.0/UDP 1.1.1.2;branch=z9hG4bKa4e7.5a17f5d2.0.
Via: SIP/2.0/UDP 1.1.1.3;rport=5060;branch=z9hG4bK3b060ecd72DB1B2E.
Record-Route: <sip:xuser@1.1.1.2;lr=on;ftag=4FC4B456-84A45F87>.
From: "userB" <sip:25988@mydomain.com:5070>;tag=4FC4B456-84A45F87.
To: "userA" <sip:37233@mydomain.com:5100>;tag=as04e841f5.
Call-ID: 26fc844416113667695f1f3f06d22826@mydomain.com.
CSeq: 2 REFER.
Server: Asterisk PBX 13.9.1.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE.
Supported: replaces, timer.
Contact: <sip:37233@1.1.1.1:5100>.
Content-Length: 0.
.


U 2016/05/30 08:20:02.387228 1.1.1.1:5100 -> 1.1.1.2:5070
NOTIFY sip:u8-3@1.1.1.2 SIP/2.0.
Via: SIP/2.0/UDP 1,1,1,1:5100;branch=z9hG4bK285dcfd6;rport.
Route: <sip:1.1.1.2:5070;lr=on;ftag=as04e841f5>,<sip:1.1.1.2:5070;lr=on;ftag=as04e841f5>,<sip:xuser@1.1.1.2;lr=on;ftag=as04e841f5>.
Max-Forwards: 70.
From: "userA" <sip:37233@mydomain.com:5100>;tag=as04e841f5.
To: "userB" <sip:25988@mydomain.com:5070>;tag=4FC4B456-84A45F87.
Contact: <sip:37233@1.1.1.1:5100>.
Call-ID: 26fc844416113667695f1f3f06d22826@mydomain.com.
CSeq: 103 NOTIFY.
User-Agent: Asterisk PBX 13.9.1.
Event: refer;id=2.
Subscription-state: terminated;reason=noresource.
Content-Type: message/sipfrag;version=2.0.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE.
Supported: replaces, timer.
Content-Length: 33.
.
SIP/2.0 503 Service Unavailable.
{noformat}

The TRANSFER_CONTEXT variable is defined but the call no execute any line of code defined in the dialplan from this context.

This same scenario works fine with Asterisk 11 and with the same config files. Asterisk sends a NOTIFY with a sifrag 200 OK and sent and INVITE with Replaces and the trasnfer is performed.

Any idea why Asterisk 13 don't execute the TRASNFER_CONTEXT code and send the INVITE with Replaces? Is a possible bug in this release?

Thanks for your help.

Jose
Comments:By: Asterisk Team (asteriskteam) 2016-05-30 01:31:44.306-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: Joshua C. Colp (jcolp) 2016-05-30 10:49:55.463-0500

Can you please provide the complete console output as well as dialplan, and if possible the output from the previous version where it worked.

By: Jose Molina (jose.molina) 2016-05-31 01:42:27.161-0500

This is the console output for Asterisk 13.9.1:
{noformat}
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [25988@incoming:1] Macro("SIP/ISP_SIPtrunk-00000000", "llamadaEntranteUC,25988,37233") in new stack
-- Executing [s@macro-llamadaEntranteUC:1] NoOp("SIP/ISP_SIPtrunk-00000000", "CallingPress --1-- caller id --"37233" <37233>--") in new stack
-- Executing [s@macro-llamadaEntranteUC:2] Set("SIP/ISP_SIPtrunk-00000000", "TRANSFER_CONTEXT=station_transferUC") in new stack
-- Executing [s@macro-llamadaEntranteUC:3] Set("SIP/ISP_SIPtrunk-00000000", "TRANSFERCONTEXT=station_transferUC") in new stack
-- Executing [s@macro-llamadaEntranteUC:4] Set("SIP/ISP_SIPtrunk-00000000", "_TRANSFERCONTEXT=station_transferUC") in new stack
-- Executing [s@macro-llamadaEntranteUC:5] Set("SIP/ISP_SIPtrunk-00000000", "NUMCALLED=25988") in new stack
-- Executing [s@macro-llamadaEntranteUC:6] Set("SIP/ISP_SIPtrunk-00000000", "NUMCALLER=37233") in new stack
-- Executing [s@macro-llamadaEntranteUC:7] GotoIf("SIP/ISP_SIPtrunk-00000000", "0?desconegut:conegut") in new stack
-- Goto (macro-llamadaEntranteUC,s,10)
-- Executing [s@macro-llamadaEntranteUC:10] GotoIf("SIP/ISP_SIPtrunk-00000000", "0?addZeroPrefix") in new stack
-- Executing [s@macro-llamadaEntranteUC:11] Goto("SIP/ISP_SIPtrunk-00000000", "s,nextZeroPrefix") in new stack
-- Goto (macro-llamadaEntranteUC,s,13)
-- Executing [s@macro-llamadaEntranteUC:13] Set("SIP/ISP_SIPtrunk-00000000", "_UCUSER=25988") in new stack
-- Executing [s@macro-llamadaEntranteUC:14] Set("SIP/ISP_SIPtrunk-00000000", "CDR(PRIVACY-ID)="Privacy: off"") in new stack
-- Executing [s@macro-llamadaEntranteUC:15] Set("SIP/ISP_SIPtrunk-00000000", "CALLERID(all)=37233 <37233>") in new stack
-- Executing [s@macro-llamadaEntranteUC:16] SIPAddHeader("SIP/ISP_SIPtrunk-00000000", "P-Asserted-Identity: 37233 sip:37233@mydomain.com") in new stack
-- Executing [s@macro-llamadaEntranteUC:17] GotoIf("SIP/ISP_SIPtrunk-00000000", "0?privacy:privacyoff") in new stack
-- Goto (macro-llamadaEntranteUC,s,22)
-- Executing [s@macro-llamadaEntranteUC:22] SIPAddHeader("SIP/ISP_SIPtrunk-00000000", "Remote-Party-ID: 37233 sip:37233@mydomain.com") in new stack
-- Executing [s@macro-llamadaEntranteUC:23] Dial("SIP/ISP_SIPtrunk-00000000", "SIP/PROXY-out/25988,,t") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/PROXY-out/25988
-- SIP/PROXY-out-00000001 is ringing
-- SIP/PROXY-out-00000001 answered SIP/ISP_SIPtrunk-00000000
-- Channel SIP/PROXY-out-00000001 joined 'simple_bridge' basic-bridge
-- Channel SIP/ISP_SIPtrunk-00000000 joined 'simple_bridge' basic-bridge

   0x7f747800b0b0 -- Probation passed - setting RTP source address to 10.0.0.9:10748
   0x7f746800adc0 -- Probation passed - setting RTP source address to 10.0.0.174:30122
   -- Started music on hold, class 'default', on channel 'SIP/ISP_SIPtrunk-00000000'
   [May 25 11:27:50] NOTICE[19960][C-00000000]: chan_sip.c:23978 handle_response_notify: Got OK on REFER Notify message
{noformat}

And this is the console output for Asterisk 11 where the transfer works fine. As you can see in this case the call enters in the station_transferUC context to do the attendant transfer after receives the REFER message.
{noformat}
-- Executing [25988@incoming:1] Macro("SIP/ISP_SIPtrunk-0000000a", "llamadaEntranteUC,25988,37233") in new stack
-- Executing [s@macro-llamadaEntranteUC:1] NoOp("SIP/ISP_SIPtrunk-0000000a", "CallingPress --1-- caller id --"37233" <37233>--") in new stack
-- Executing [s@macro-llamadaEntranteUC:2] Set("SIP/ISP_SIPtrunk-0000000a", "TRANSFER_CONTEXT=station_transferUC") in new stack
-- Executing [s@macro-llamadaEntranteUC:3] Set("SIP/ISP_SIPtrunk-0000000a", "_TRANSFER_CONTEXT=station_transferUC") in new stack
-- Executing [s@macro-llamadaEntranteUC:4] Set("SIP/ISP_SIPtrunk-0000000a", "__TRANSFER_CONTEXT=station_transferUC") in new stack
-- Executing [s@macro-llamadaEntranteUC:5] Set("SIP/ISP_SIPtrunk-0000000a", "NUMCALLED=25988") in new stack
-- Executing [s@macro-llamadaEntranteUC:6] Set("SIP/ISP_SIPtrunk-0000000a", "NUMCALLER=37233") in new stack
-- Executing [s@macro-llamadaEntranteUC:7] GotoIf("SIP/ISP_SIPtrunk-0000000a", "0?desconegut:conegut") in new stack
-- Goto (macro-llamadaEntranteUC,s,10)
-- Executing [s@macro-llamadaEntranteUC:10] GotoIf("SIP/ISP_SIPtrunk-0000000a", "0?addZeroPrefix") in new stack
-- Executing [s@macro-llamadaEntranteUC:11] Goto("SIP/ISP_SIPtrunk-0000000a", "s,nextZeroPrefix") in new stack
-- Goto (macro-llamadaEntranteUC,s,13)
-- Executing [s@macro-llamadaEntranteUC:13] Set("SIP/ISP_SIPtrunk-0000000a", "_UCUSER=25988") in new stack
-- Executing [s@macro-llamadaEntranteUC:14] Set("SIP/ISP_SIPtrunk-0000000a", "CDR(PRIVACY-ID)="Privacy: off"") in new stack
-- Executing [s@macro-llamadaEntranteUC:15] Set("SIP/ISP_SIPtrunk-0000000a", "CALLERID(all)=37233 <37233>") in new stack
-- Executing [s@macro-llamadaEntranteUC:16] SIPAddHeader("SIP/ISP_SIPtrunk-0000000a", "P-Asserted-Identity: 37233 <sip:37233@mydomain.com>") in new stack
-- Executing [s@macro-llamadaEntranteUC:17] GotoIf("SIP/ISP_SIPtrunk-0000000a", "0?privacy:privacyoff") in new stack
-- Goto (macro-llamadaEntranteUC,s,22)
-- Executing [s@macro-llamadaEntranteUC:22] SIPAddHeader("SIP/ISP_SIPtrunk-0000000a", "Remote-Party-ID: 37233 <sip:37233@mydomain.com>") in new stack
-- Executing [s@macro-llamadaEntranteUC:23] Dial("SIP/ISP_SIPtrunk-0000000a", "SIP/PROXY-out/25988,,t") in new stack

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/PROXY-out/25988
-- SIP/PROXY-out-0000000b is ringing
-- SIP/PROXY-out-0000000b answered SIP/ISP_SIPtrunk-0000000a

   0x7f2b3c006da0 -- Probation passed - setting RTP source address to 10.0.0.9:10742
   0x2c6cbf0 -- Probation passed - setting RTP source address to 10.0.0.174:35120
   -- Started music on hold, class 'default', on SIP/ISP_SIPtrunk-0000000a
   -- Stopped music on hold on SIP/ISP_SIPtrunk-0000000a
   == Spawn extension (station_transferUC, u6-676, 1) exited non-zero on 'SIP/ISP_SIPtrunk-0000000a' in macro 'llamadaEntranteUC'
   == Spawn extension (station_transferUC, u6-676, 1) exited non-zero on 'SIP/ISP_SIPtrunk-0000000a'
   -- Executing [u6-676@station_transferUC:1] Macro("SIP/ISP_SIPtrunk-0000000a", "transferUCAAi,u6-676,37233,") in new stack
   -- Executing [s@macro-transferUCAAi:1] NoOp("SIP/ISP_SIPtrunk-0000000a", "Transfer call 37233 to u6-676. Prefix . GWFailover . --UCUser: 25988--") in new stack
   -- Executing [s@macro-transferUCAAi:2] Set("SIP/ISP_SIPtrunk-0000000a", "NUMDESTI=u6-676") in new stack
   -- Executing [s@macro-transferUCAAi:3] Set("SIP/ISP_SIPtrunk-0000000a", "NUMORIGEN=37233") in new stack
   -- Executing [s@macro-transferUCAAi:4] Set("SIP/ISP_SIPtrunk-0000000a", "CALLEDPREFIX=") in new stack
   -- Executing [s@macro-transferUCAAi:5] Set("SIP/ISP_SIPtrunk-0000000a", "GWFAILOVER=") in new stack
   -- Executing [s@macro-transferUCAAi:6] Dial("SIP/ISP_SIPtrunk-0000000a", "SIP/NB-out/u6-676,,t") in new stack
   == Using SIP RTP TOS bits 184
   == Using SIP RTP CoS mark 5
   -- Called SIP/NB-out/u6-676
   -- SIP/NB-out-0000000c answered SIP/ISP_SIPtrunk-0000000a
   0x2c79f50 -- Probation passed - setting RTP source address to 10.0.0.174:40104
{noformat}

Here you can see the dialplan. To summarize, I pasted the contexts involved in the transfer and I masqueraded the IP address for security
{noformat}
[general]
static=yes
writeprotect=yes
language=es

[globals]

DOMINI=mydomain.com

TRANSFER_CONTEXT=station_transferUC
_TRANSFER_CONTEXT=station_transferUC
__TRANSFER_CONTEXT=station_transferUC

[incoming]

exten => s,1,NoOp(OPTION ping)

exten => _[1235679]XXXX,1,Macro(llamadaEntranteUC,${EXTEN:-5},${CALLERID(num)})
exten => _4[45]XXX,1,Macro(llamadaEntranteUC,${EXTEN:-5},${CALLERID(num)})
exten => _0[67]XXXXXXXX,1,Macro(llamadaEntranteUC,${EXTEN},${CALLERID(num)})
exten => _0XX.,1,Macro(llamadaEntranteUC,${EXTEN},${CALLERID(num)})
;---[FI] e-Connect


[macro-llamadaEntranteUC]

exten => s,1,NoOp(CallingPress --${CALLINGPRES}-- caller id --${CALLERID(all)}--)
exten => s,n,Set(TRANSFER_CONTEXT=station_transferUC)
exten => s,n,Set(_TRANSFER_CONTEXT=station_transferUC)
exten => s,n,Set(__TRANSFER_CONTEXT=station_transferUC)
exten => s,n,Set(NUMCALLED=${ARG1})
exten => s,n,Set(NUMCALLER=${ARG2})

exten => s,n,GotoIf($["${NUMCALLER}" = ""]?desconegut:conegut)
exten => s,n(desconegut),Set(NUMCALLER=desconegut)
exten => s,n,Goto(s,nextZeroPrefix)
exten => s,n(conegut),GotoIf($[ $["${NUMCALLER:0:1}" != "0"] & $[${LEN(${NUMCALLER})} != 5] ]?addZeroPrefix)
exten => s,n,Goto(s,nextZeroPrefix)
exten => s,n(addZeroPrefix),Set(NUMCALLER=0${NUMCALLER})

exten => s,n(nextZeroPrefix),Set(_UCUSER=${NUMCALLED})
exten => s,n,Set(CDR(PRIVACY-ID)="Privacy: off")
exten => s,n,Set(CALLERID(all)=${CALLERID(name)} <${NUMCALLER}>)
exten => s,n,SIPAddHeader(P-Asserted-Identity: ${CALLERID(name)} <sip:${NUMCALLER}@${DOMINI}>)
exten => s,n,GotoIf($[${MATH(${CALLINGPRES}>30)}=TRUE]?privacy:privacyoff)
exten => s,n(privacy),SIPAddHeader(Remote-Party-ID: ${CALLERID(name)} <sip:${NUMCALLER}@${DOMINI}>\;privacy=full)
exten => s,n,SIPAddHeader(Privacy: Id)
exten => s,n,Set(CDR(PRIVACY-ID)="Privacy: full")
exten => s,n,GoTo(s,end-privacy)
exten => s,n(privacyoff),SIPAddHeader(Remote-Party-ID: ${CALLERID(name)} <sip:${NUMCALLER}@${DOMINI}>)
exten => s,n(end-privacy),Dial(SIP/PROXY-out/${NUMCALLED},,t);   ;t - Callee can transfer
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-CHANUNAVAIL,1,Congestion
exten => s-BUSY,1,Hangup
exten => s-NOANSWER,1,Hangup
exten => s-VMNOEXIST,1,Goto(s-VMNO-${DIALSTATUS},1)
exten => s-VMNO-BUSY,1,Hangup
exten => s-VMNO-CONGESTION,1,Congestion
exten => s-CANCEL,1,Hangup
exten => s-CONGESTION,1,Congestion
exten => _s-.,1,Congestion
exten => s-.,1,Congestion


[station_transferUC]

; -- Masquerade NAT users
exten => _uX-X.,1,Macro(transferUCAAi,${EXTEN},${CALLERID(num)},${UCLID})

[macro-transferUCAAi]
; Transfer Active-Active, internal. Variable ${UCUSER} ve del INVITE original
exten => s,1,NoOp(Transfer call ${ARG2} to ${ARG1}. Prefix ${ARG3}. GWFailover ${ARG4}. --UCUser: ${UCUSER}--)
exten => s,n,Set(NUMDESTI=${ARG1})
exten => s,n,Set(NUMORIGEN=${ARG2})
exten => s,n,Set(CALLEDPREFIX=${ARG3})
exten => s,n,Set(GWFAILOVER=${ARG4})

exten => s,n(outDial),Dial(SIP/NB-out/${NUMDESTI},,t)
exten => s,n,Goto(s1-${DIALSTATUS},1)
;exten => s,n,Goto(s1-BUSY,1)

; Si la trucada dona un BUSY ho intentem per l'altre GW
exten => s1-BUSY,1,Goto(s2,1)
exten => s1-CHANUNAVAIL,1,Goto(s2,1)
exten => s1-CONGESTION,1,Goto(s2,1)

exten => s1-NOANSWER,1,Hangup
exten => s1-VMNOEXIST,1,Goto(s-VMNO-${DIALSTATUS},1)
exten => s1-VMNO-BUSY,1,Hangup
exten => s1-VMNO-CONGESTION,1,Congestion
exten => s1-CANCEL,1,Hangup
exten => _s1-.,1,Congestion

exten => s2,1(gwasterisk),Dial(SIP/PROXY-out/${CALLEDPREFIX}${NUMDESTI},,t)
exten => s2,n,Goto(s-${DIALSTATUS},1)

exten => s-CHANUNAVAIL,1,Congestion
exten => s-BUSY,1,Hangup
exten => s-NOANSWER,1,Hangup
exten => s-VMNOEXIST,1,Goto(s-VMNO-${DIALSTATUS},1)
exten => s-VMNO-BUSY,1,Hangup
exten => s-VMNO-CONGESTION,1,Congestion
exten => s-CANCEL,1,Hangup
exten => s-CONGESTION,1,Congestion
exten => _s-.,1,Congestion
exten => s-.,1,Congestion
{noformat}
Thanks for your help


By: Rusty Newton (rnewton) 2016-06-15 09:51:20.974-0500

Huh, this is strange.

I want to expand on Josh's previous request

{quote}
Can you please provide the complete console output as well as dialplan, and if possible the output from the previous version where it worked.
{quote}

Please provide a full debug log for both versions, the old where it works and the new where it doesn't.

Follow the instructions here: https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

Make sure that both of the debug logs contain the SIP trace as well so we can see the full SIP traffic for the complete call from beginning to end.

Verify the log has the DEBUG and VERBOSE messages plus the SIP trace before attaching it to the issue. Please attach the files to the issue with the .txt extension and do not paste them into a comment.

Thanks!

By: Jose Molina (jose.molina) 2016-06-20 07:22:00.914-0500

Hi;

I attached to this issue two txt file with the debug logs:

- debug_log_oldasterisk11_transferOK_issue_26072.txt --> attended transfer works OK in Asterisk 11.22.0

- debug_log_newasterisk13_transferFAIL_issue_26072.txt --> attenden transfer FAIL in Asterisk 13.9.1. In this case you can see the next error after the REFER and 202 Accepted packet: "SIP attended transfer: Error: No owner of target call"

The two files has the DEBUG and VERBOSE messages and contains the SIP trace for the complete call.

Thanks for your help


By: Jose Molina (jose.molina) 2016-09-06 10:35:24.327-0500

Sorry, any solution for this bug?

I cannot upgrade my gateway until this bug is resolved. This transfers are critical in my envinronment.

By: Rusty Newton (rnewton) 2016-09-13 16:38:29.889-0500

The ticket is open, when a core developer is available and the issue is higher priority than other issues that are open then a developer will work the issue.

Otherwise it is open for any community member to work. Remember that you have the option of posting a bug bounty if you wish to draw the community's attention to it.

https://wiki.asterisk.org/wiki/display/AST/Asterisk+Bug+Bounties