Queues/Agents - Ringing but no voice on answer

Dear all,

I am actually having a big problem with Agents/Queues.

We are using this feature as a “follow-me”.

Please can call 1711 to login and enter their actual extension (1111) followed by their divert number (mobile for example).

When someone calls the extension 1111, the asterisk see that the agent is logged in with the mobile number and transfers the call to the mobile.

From here, all is ok … RTP debugging shows SEND and GOT packets, both phones are ok, mobile is ringing.

But as soon as mobile answers, RTP debug show only GOT packets.

So we can conclude that voice is not going throught correctly.

We made many traces, 2 of our 1.4.13 asterisk have this issue while our 1.2 asterisk is working fine with the feature.

Is someone having the same issue ? Is it considered as a known bug ? Is there a solution ? This is quite urgent because my company needs the follow-me feature to forward office extensions to home extensions when needed.

Hope you’ll be able to help me. Thank you very much !

bugs.digium.com/view.php?id=11071

Thank you very much for your assistance

When I apply the patch I get this :

[root@pbxstephen asterisk-1.4.13]# patch -p0 < /home/brohee/asterisk_queue_voice_channel.c.patch
patching file main/channel.c
Hunk #2 FAILED at 2211.
1 out of 2 hunks FAILED – saving rejects to file main/channel.c.rej

In channel.c.rej I have :

***************
*** 2205,2228 ****
        }
        prestate = chan->_state;

-       /* Check if there's an underlying channel */
-       if (chan->tech->get_base_channel && (base = chan->tech->get_base_channel(chan)) != chan) {
-               int count = 0;
-               while (!base || ast_mutex_trylock(&base->lock)) {
-                       if (count++ > 10) {
-                               f = &ast_null_frame;
-                               goto done;
-                       }
-                       ast_mutex_unlock(&chan->lock);
-                       usleep(1);
-                       ast_mutex_lock(&chan->lock);
-                       base = chan->tech->get_base_channel(chan);
-               }
-               ast_mutex_unlock(&chan->lock);
-               chan = base;
-       }
-
-       if (!ast_test_flag(chan, AST_FLAG_DEFER_DTMF | AST_FLAG_EMULATE_DTMF | AST_FLAG_IN_DTMF) &&
            !ast_strlen_zero(chan->dtmfq) &&
                (ast_tvzero(chan->dtmf_tv) || ast_tvdiff_ms(ast_tvnow(), chan->dtmf_tv) > AST_MIN_DTMF_GAP) ) {
                /* We have DTMF that has been deferred.  Return it now */
--- 2211,2217 ----
        }
        prestate = chan->_state;

+               if (!ast_test_flag(chan, AST_FLAG_DEFER_DTMF | AST_FLAG_EMULATE_DTMF | AST_FLAG_IN_DTMF) &&
            !ast_strlen_zero(chan->dtmfq) &&
                (ast_tvzero(chan->dtmf_tv) || ast_tvdiff_ms(ast_tvnow(), chan->dtmf_tv) > AST_MIN_DTMF_GAP) ) {
                /* We have DTMF that has been deferred.  Return it now */

Someone knows what to do ? :smile:

Removing -p0 makes all ok … you just need to enter /usr/src/asterisk-1.4.13/main/channel.c when prompting the file to patch.

[root@pbxstephen asterisk-1.4.13]# patch < /home/brohee/asterisk_queue_voice_channel.c.patch

Thank for all your help !

The issue presented is with version 1.4.13
My queue looks pretty much like this:

[queue1]

music=default
autofill = yes
reportholdtime=yes
strategy = random
timeout = 5
retry = 5
wrapuptime = 0
maxlen = 0
setinterfacevar = yes
ringinuse = no
announce-holdtime = yes
periodic-announce-frequency=60
announce-round-seconds = 10
announce = queue-english
leavewhenempty=strict
joinempty=strict
queue-youarenext = queue-youarenext
queue-thereare = queue-thereare
queue-callswaiting = queue-callswaiting
queue-holdtime = queue-holdtime
queue-minutes = queue-minutes
queue-seconds = queue-seconds
queue-thankyou = queue-thankyou
queue-lessthan = queue-less-than
queue-reporthold = queue-reporthold
periodic-announce = queue-periodic-announce
member => Agent/11125
member => Agent/11128
member => Agent/11123
member => Agent/11124
member => Agent/11120
member => Agent/11121

Calls sip to sip and even if I direct the incoming call to an extension ring correctly and RTP flows in both directions.
When the calls in sent to the queue there is just silence and RTP is not forwarded, I applied the patch presented on 0011071 to the version and rebooted the machine however this did not solve the issue.

Is there a newer patch to this version?

Kind regards,

Saul Bejarano

I am actually using 1.4.13 on two servers and the patch applied solved the problem for me on both of them.