OpenSIPS, Asterisk And LocalAgents For Queues

Home » Asterisk Users » OpenSIPS, Asterisk And LocalAgents For Queues
Asterisk Users 1 Comment

Hi all,

i’m build and using a voip pbx system using OpenSIPS as a router (i need to serve thousand of users…) and an Asterisk server as media box, for IVR, queues and so on.

I’ve a PATTON PSTN GW (172.20.1.4), the VoIP OpenSIPS ROUTER
(172.20.1.2) andn

In queues, because i’ve some troubles telling Asterisk which users are online and available, i decide to use LocalAgent way to force calls to every agents. For example, in queue.conf i have:

[operator-phone-queue]
music = queue-default strategy = linear context = ivr-services ; Here we go when the caller presses a single digit, while in the queue timeout = 15
wrapuptime = 10
announce-frequency = 30
announce-holdtime = yes joinempty = yes member => Local/SIP-5002@MemberConnector,1
member => Local/SIP-5023@MemberConnector,2

and in extensions.conf:

[MemberConnector]
exten => _[A-Za-z0-9].,1,Verbose(2,Connecting ${CALLERID(all)} to Agent at ${EXTEN})
same => n,Set(QueueMember=${FILTER(A-Za-z0-9\-,${EXTEN})})
same => n,Set(Technology=${CUT(QueueMember,-,1)})
same => n,Set(Device=${CUT(QueueMember,-,2)})
same => n,Noop(“MemberConnector: calling queue member
${Technology}/voip-trunk/${Device}”)
same => n,Dial(${Technology}/voip-trunk/${Device},30)
same => n,Hangup()

That way works well *BUT* i have a problem with RTP audio flow, because when, for example, i call from 4999 to the queue and 5002 or 5023
answers the call, i got no audio from 5002 to 4999 (but i hear sounds from 4999 to 5002). The SIP signalling was this:

INVITE sip:5002@172.20.1.47:57907 SIP/2.0. Via: SIP/2.0/UDP 172.20.1.2:5060;branch=z9hG4bKa165.92c040a1.0. Via: SIP/2.0/UDP
172.20.1.5:5060;rport=5060;received=172.20.1.5;branch=z9hG4bK47310f8d. Max-Forwards: 69. From: ;tag=as1e28f247. To: . Call-ID: 252126f32e04b0364360b6d65c7dba1f@. CSeq: 104 INVITE. User-Agent: Asterisk PBX 11.13.1~dfsg-2+b1. Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE. Supported: replaces, timer. Content-Type: application/sdp. Content-Length:240.
. v=0. o=root 862552143 862552145 IN IP4 172.20.1.5. s=Asterisk PBX 11.13.1~dfsg-2+b1. c=IN IP4 172.20.1.5. t=0 0. m=audio 16660 RTP/AVP 8 101. a=rtpmap:8 PCMA/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-16. a=ptime:20. a=sendrecv.

[…]

SIP/2.0 200 Ok. Via: SIP/2.0/UDP
172.20.1.5:5060;rport=5060;received=172.20.1.5;branch=z9hG4bK47310f8d. From: ;tag=as1e28f247. To: “Michele” ;tag=l3f2mwdv8j. Call-ID: 252126f32e04b0364360b6d65c7dba1f@. CSeq: 104 INVITE. User-Agent: snom760/8.7.5.17. Contact: ;reg-id=1. Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, SUBSCRIBE, PRACK, MESSAGE, INFO, UPDATE. Allow-Events: talk, hold, refer, call-info. Supported: timer, 100rel, replaces, from-change. Content-Type: application/sdp. Content-Length: 218.
. v=0. o=root 1421125882 1421125885 IN IP4 172.20.1.47. s=call. c=IN IP4 172.20.1.47. t=0 0. m=audio 60670 RTP/AVP 8 101. a=rtpmap:8 PCMA/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-16. a=ptime:20. a=sendrecv.

I think that the problem was the 172.20.1.5 (Asterisk box) as RTP
endpoint and not 172.20.1.4 (Patton GW, where call 4999 was originated).

Just to be more clear, the flow is:

[PSTN Net 4999]—->[PATTON GW | 172.20.1.4]—->[OpenSIPS
172.20.1.2]—>[Asterisk BOX (Queues) | 172.20.1.5]—->[OpenSIPS
172.20.1.2]—->(ring 5002)—->(answer 5002)—>(Call established but no audio)

So, there’s a solution ? Hints ?

Thanks, Michele

One thought on - OpenSIPS, Asterisk And LocalAgents For Queues

  • Hi, I hope you already have fixed it . In case you didnt then here are my thoughts. Looking at the flow and keeping in mind that all devices are in same subnet you should never get one way audio issue since OpenSIP is not playing with SDP so Asterisk and PGW should just be able to have two way audio all the time and so you should debug the B leg going out to the endpoint.

    BR, Sammy.