Call Queue one side audio (Voice) not workable

Hello I need one quick help,

When I use the call queue to connect a call, I can only hear audio from one side instead of both sides. Here, I am using a 3380 device for making calls and on the other side I am using a browser application.

When I call an extension from the elevator, I can hear audio from both sides equally. Similarly when I call an extension from a ring group, I can hear audio from both sides equally. However when I use the call queue to make a call, I can only hear audio from one side, and it’s only on the device, not in the application. Can you please tell me what the issue might be?

Note: After the call ends when I listen to the call recording, I can hear audio from both sides equally in the call queue.

PBX version: 1.0.19
3380 Version: 1.0.3.9

I have tested the test cases provided below, which will make it easier for you to understand:

  • 1011(Extension) to 3015(Elevator): Audio both side workable
  • 3015(Elevator) to 1011(Extension): Audio both side workable
  • 6400(Ring Group) t0 1011(Extension): Audio both side workable
  • 6500(Call Queue) to 1011(Extension): Work only one side (6500)

If anyone can help, it would be appreciated :pray:

This are the codec list, I am using right now:

  • PCMU
  • PCMA
  • GSM
  • G.722
  • G.729
  • H.264
  • iLBC
  • OPUS

This hasn’t been a possible Asterisk version number for over a decade, possibly even getting on for two! Either it isn’t an Asterisk version, in which case contact the third party to whom it does relate, or it is one, in which case, please upgrade to a supported version.

Are you using Asterisk? PBX version 1 sound rather old. What is a 3380 device? It could be an IBM mainframe or a Grandstream SIP phone with video.

Thanks for reply

3380 is a grandstream: GXV3380 - Documentation Center

Thanks for reply

@david551 Here I am using Grandstream 6308 and my PBX version is 1.0.19.

https://www.grandstream.com/support/firmware/ucm6300-official-firmware

queues.conf

[general]
persistentmembers = yes
monitor-type = MixMonitor

[markq]
musicclass = default
announce = queue-markq
strategy = ringall
servicelevel = 60
context = qoutcon
penaltymemberslimit = 5
timeout = 15
retry = 5
timeoutpriority = app
weight = 0
wrapuptime = 15
autofill = yes
autopause = yes
autopausedelay = 60
autopausebusy = no
autopauseunavail = no
maxlen = 0
setinterfacevar = no
setqueueentryvar = no
setqueuevar = no

extensions.conf

[general]
static=yes
writeprotect=no
autofallthrough=no
clearglobalvars=no

[globals]
CONSOLE=Console/dsp
IAXINFO=guest
TRUNK=DAHDI/G2
TRUNKMSD=1

[dundi-e164-canonical]
exten => 12564286000,1,Gosub(6000,stdexten(IAX2/foo))
exten => 12564286000,n,Goto(default,s,1)
exten => _125642860XX,1,Dial(IAX2/otherbox/${EXTEN:7})

[dundi-e164-customers]
exten => _12564286000,1,Dial(SIP/customer1)
exten => _12564286001,1,Dial(IAX2/customer2)

[dundi-e164-via-pstn]
exten => _1256428XXXX,1,Dial(DAHDI/G2/${EXTEN:7})
exten => _1256325XXXX,1,Dial(DAHDI/G2/${EXTEN:7})

[dundi-e164-local]
include => dundi-e164-canonical
include => dundi-e164-customers
include => dundi-e164-via-pstn

[dundi-e164-switch]
switch => DUNDi/e164

[dundi-e164-lookup]
include => dundi-e164-local
include => dundi-e164-switch

[macro-dundi-e164]
exten => s,1,Goto(${ARG1},1)
include => dundi-e164-lookup

[iaxtel700]
exten => _91700XXXXXXX,1,Dial(IAX2/${GLOBAL(IAXINFO)}@iaxtel.com/${EXTEN:1}@iaxtel)

[trunkint]
exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${FILTER(0-9,${EXTEN:${GLOBAL(TRUNKMSD)}})})

[trunkld]
exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[trunklocal]
exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[trunktollfree]
exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

[international]
ignorepat => 9
include => longdistance
include => trunkint

[longdistance]
ignorepat => 9
include => local
include => trunkld

[local]
ignorepat => 9
include => default
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider

include => parkedcalls

[outbound-freenum]
exten => _XX!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XX
X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXX!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXX
X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXXX!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXXX
X!,1,Goto(outbound-freenum2,${EXTEN},1)

[outbound-freenum2]
exten => _X!,1,Verbose(2,Performing ISN lookup for ${EXTEN})
same => n,Set(SUFFIX=${CUT(EXTEN,*,2-)})
same => n,GotoIf($[β€œ${FILTER(0-9,${SUFFIX})}” != β€œ${SUFFIX}”]?fn-CONGESTION,1)
same => n,Set(TIMEOUT(absolute)=10800)
same => n,Set(isnresult=${ENUMLOOKUP(${EXTEN},sip,1,freenum.org)})
same => n,GotoIf($[β€œ${isnresult}” != β€œβ€]?from)
same => n,Set(DIALSTATUS=CONGESTION)
same => n,Goto(fn-CONGESTION,1)
same => n(from),Set(__SIPFROMUSER=${CALLERID(num)})
same => n,GotoIf($[β€œ${GLOBAL(FREENUMDOMAIN)}” = β€œβ€]?dial)
same => n,Set(__SIPFROMDOMAIN=${GLOBAL(FREENUMDOMAIN)})
same => n(dial),Dial(SIP/${isnresult},40)
same => n,Goto(fn-${DIALSTATUS},1)

exten => fn-BUSY,1,Busy()
exten => _f[n]-.,1,NoOp(ISN: ${DIALSTATUS})
same => n,Congestion()

[macro-trunkdial]
exten => s,1,Dial(${ARG1})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup
exten => s-BUSY,1,Hangup
exten => _s-.,1,NoOp

[stdexten]

exten => _X.,50000(stdexten),NoOp(Start stdexten)
exten => _X.,n,Set(LOCAL(ext)=${EXTEN})
exten => _X.,n,Set(LOCAL(dev)=${ARG1})
exten => _X.,n,Set(LOCAL(cntx)=${ARG2})
exten => _X.,n,Set(LOCAL(mbx)=${ext}${IF($[!${ISNULL(${cntx})}]?@${cntx})})
exten => _X.,n,Dial(${dev},20)
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1)

exten => stdexten-NOANSWER,1,Voicemail(${mbx},u)
exten => stdexten-NOANSWER,n,Return()

exten => stdexten-BUSY,1,Voicemail(${mbx},b)
exten => stdexten-BUSY,n,Return()

exten => _stdete[n]-.,1,Goto(stdexten-NOANSWER,1)

exten => a,1,VoicemailMain(${mbx})
exten => a,n,Return()

[stdPrivacyexten]
exten => _X.,60000(stdPrivacyexten),NoOp(Start stdPrivacyexten)
exten => _X.,n,Set(LOCAL(ext)=${ARG1})
exten => _X.,n,Set(LOCAL(dev)=${ARG2})
exten => _X.,n,Set(LOCAL(dontcntx)=${ARG3})
exten => _X.,n,Set(LOCAL(tortcntx)=${ARG4})
exten => _X.,n,Set(LOCAL(cntx)=${ARG5})

exten => _X.,n,Set(LOCAL(mbx)=β€œ${ext}”$[β€œ${cntx}” ? β€œ@${cntx}” :: β€œβ€])
exten => _X.,n,Dial(${dev},20,p)
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1)

exten => stdexten-NOANSWER,1,Voicemail(${mbx},u)
exten => stdexten-NOANSWER,n,NoOp(Finish stdPrivacyexten NOANSWER)
exten => stdexten-NOANSWER,n,Return()

exten => stdexten-BUSY,1,Voicemail(${mbx},b)
exten => stdexten-BUSY,n,NoOp(Finish stdPrivacyexten BUSY)
exten => stdexten-BUSY,n,Return()

exten => stdexten-DONTCALL,1,Goto(${dontcntx},s,1)
exten => stdexten-TORTURE,1,Goto(${tortcntx},s,1)
exten => _stdete[n]-.,1,Goto(stdexten-NOANSWER,1)

exten => a,1,VoicemailMain(${mbx})
exten => a,n,Return()

[macro-page]
exten => s,1,ChanIsAvail(${ARG1},s)
exten => s,n,GoToIf($[${AVAILSTATUS} = β€œ1”]?autoanswer:fail)
exten => s,n(autoanswer),Set(_ALERT_INFO=β€œRA”)
exten => s,n,SIPAddHeader(Call-Info: Answer-After=0)
exten => s,n,NoOp()
exten => s,n,Dial(${ARG1})
exten => s,n(fail),Hangup()

[demo]
include => stdexten
exten => s,1,Wait(1)
exten => s,n,Answer
exten => s,n,Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n(restart),BackGround(demo-congrats)
exten => s,n(instruct),BackGround(demo-instruct)
exten => s,n,WaitExten

exten => 2,1,BackGround(demo-moreinfo)
exten => 2,n,Goto(s,instruct)

exten => 3,1,Set(LANGUAGE()=fr)
exten => 3,n,Goto(s,restart)

exten => 1000,1,Goto(default,s,1)

exten => 1234,1,Playback(transfer,skip)
exten => 1234,n,Gosub(${EXTEN},stdexten(${GLOBAL(CONSOLE)}))
exten => 1234,n,Goto(default,s,1)

exten => 1235,1,Voicemail(1234,u)

exten => 1236,1,Dial(Console/dsp)
exten => 1236,n,Voicemail(1234,b)

exten => #,1,Playback(demo-thanks)
exten => #,n,Hangup

exten => t,1,Goto(#,1)
exten => i,1,Playback(invalid)

exten => 500,1,Playback(demo-abouttotry)
exten => 500,n,Dial(IAX2/guest@pbx.digium.com/s@default)
exten => 500,n,Playback(demo-nogo)
exten => 500,n,Goto(s,6)

exten => 600,1,Playback(demo-echotest)
exten => 600,n,Echo
exten => 600,n,Playback(demo-echodone)
exten => 600,n,Goto(s,6)

exten => 76245,1,Macro(page,SIP/Grandstream1)
exten => _7XXX,1,Macro(page,SIP/${EXTEN})

exten => 7999,1,Set(TIMEOUT(absolute)=60)
exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n,d)

exten => 8500,1,VoicemailMain
exten => 8500,n,Goto(s,6)

[page]
exten => _X.,1,Macro(page,SIP/${EXTEN})

[public]
include => demo

[default]
include => demo

This dialplan needs, at least, Asterisk version 1.4 (or is it 1.6).

asterisk.conf

[directories]
astetcdir => /opt/asterisk/etc/asterisk
astmoddir => /opt/asterisk/lib/asterisk/modules
astvarlibdir => /opt/asterisk/var/lib/asterisk
astdbdir => /opt/asterisk/var/lib/asterisk
astkeydir => /opt/asterisk/var/lib/asterisk
astdatadir => /opt/asterisk/var/lib/asterisk
astagidir => /opt/asterisk/var/lib/asterisk/agi-bin
astspooldir => /opt/asterisk/var/spool/asterisk
astrundir => /opt/asterisk/var/run/asterisk
astlogdir => /opt/asterisk/var/log/asterisk
astsbindir => /opt/asterisk/sbin

[options]
alwaysfork = yes
nofork = yes
quiet = yes
timestamp = yes
execincludes = yes
console = yes
highpriority = yes
initcrypto = yes
nocolor = yes
dontwarn = yes
dumpcore = yes
languageprefix = yes
internal_timing = yes
systemname = my_system_name
autosystemname = yes
mindtmfduration = 80
maxcalls = 10
maxload = 0.9
maxfiles = 1000
minmemfree = 1
cache_record_files = yes
record_cache_dir = /tmp
transmit_silence = yes
transcode_via_sln = yes
runuser = asterisk
rungroup = asterisk
lightbackground = yes
forceblackbackground = yes
defaultlanguage = en
documentation_language = en_US
hideconnect = yes
lockconfdir = no

[compat]
pbx_realtime=1.6
res_agi=1.6
app_set=1.6

sip.conf

[general]
context=public

allowoverlap=no
udpbindaddr=0.0.0.0:3060
tcpenable=no
tcpbindaddr=0.0.0.0
transport=udp,ws,wss
srvlookup=yes
videosupport=yes

[authentication]
[basic-options] (!) ; a template
dtmfmode=rfc2833
context=from-office
type=friend

[natted-phone] (!,basic-options) ; another template inheriting basic-options
directmedia=no
host=dynamic

[public-phone] (!,basic-options) ; another template inheriting basic-options
directmedia=yes

[my-codecs] (!) ; a template for my preferred codecs
disallow=all
allow=ilbc
allow=g729
allow=gsm
allow=g723
allow=ulaw

[ulaw-phone] (!) ; and another one for ulaw-only
disallow=all
allow=ulaw

Codec g729 could be your Achilles heel, unless you upgrade asterisk G729 might not work properly thus creating errors

udpbindaddr=0.0.0.0:3060

Are you sure ?

Can you show what your rtp.conf file looks like?

The issue has been resolved guys. It was a codec issue there. :sweat: Thank you for your support and for giving your time. :innocent:

Thanks for posting back this way the community also learns from this. & Glad it’s now working!

1 Like

Yeah :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.