About RTPAUDIOQOS in CDR with .call files?

Hi everyone,

I have a SIP trunk from asterisk PBX (Asterisk 11.3.0) to another IP PBX.
I have a client extension 2000 registered on asterisk (using Blink) and I’m placing a call over SIP trunk.
I’m able to see the RTPAUDIOQOS statistics in CDR .

 -- Executing [8802@default:1] Log("SIP/2000-00000007", "NOTICE, Dialing out from "asterisk_b                                          link" <2000> to 802 through primary") in new stack
[Apr 16 22:06:13] NOTICE[9560][C-00000005]: Ext. 8802:1 @ default:  Dialing out from "asterisk_b                                          link" <2000> to 802 through primary
    -- Executing [8802@default:2] Dial("SIP/2000-00000007", "SIP/primary/802,60") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/primary/802
    -- SIP/primary-00000008 is ringing
    -- SIP/primary-00000008 answered SIP/2000-00000007
    -- Locally bridging SIP/2000-00000007 and SIP/primary-00000008
    -- Executing [h@default:1] Set("SIP/2000-00000007", "CDR(userfield)=ssrc=1510834108;themssrc=0;lp=0;rxjitter=0.000000;rxcount=0;txjitter=0.000000;txcount=0;rlp=0;rtt=0.000000") in new stack
  == Spawn extension (default, 8802, 2) exited non-zero on 'SIP/2000-00000007'

Now I’m trying to do something similar by using the autodial (using a .call file) , placing a call from extension 100 to the same destination over the SIP trunk.
The call gets connected but for some reason the CDR statistics from RTPAUDIOQOS are not working .

    -- Attempting call on SIP/primary/802 for 100@autodialer:2 (Retry 1)
  == Using SIP RTP CoS mark 5
       > Channel SIP/primary-0000000a was answered
    -- Executing [100@autodialer:2] Wait("SIP/primary-0000000a", "10") in new stack
    -- Executing [100@autodialer:3] Playback("SIP/primary-0000000a", "demo-thanks") in new stack
    -- <SIP/primary-0000000a> Playing 'demo-thanks.gsm' (language 'en')
    -- Executing [100@autodialer:4] Hangup("SIP/primary-0000000a", "") in new stack
  == Spawn extension (autodialer, 100, 4) exited non-zero on 'SIP/primary-0000000a'
    -- Executing [h@autodialer:1] Set("SIP/primary-0000000a", "CDR(userfield)=") in new stack

The .call file looks like this (and is placed in /var/spool/asterisk/outgoing/

[root@OpenNMS asterisk]# cat testcall1.call
Channel: SIP/primary/802
CallerID: "Autodialer"<100>
Context: autodialer
Extension: 100
Priority: 2

StartRetry: 20942 1 (1366139947)

My extensions.conf file looks like this:

exten => 2000,1,Dial(SIP/2000)


; Calls placed over SIP trunk 
exten => _8XXX,1,Log(NOTICE, Dialing out from ${CALLERID(all)} to ${EXTEN:1} through primary)
exten => _8XXX,n,Dial(SIP/primary/${EXTEN:1},60)
exten => _8XXX,n,Playback(hello-world)
;exten => _8XXX,n,NoOp(RTPAUDIOQOS: ${CHANNEL(rtpqos,audio,all)})
;exten => h,1,NoOp(RTPAUDIOQOS: ${CHANNEL(rtpqos,audio,all)})
exten => h,1,Set(CDR(userfield)=${RTPAUDIOQOS})
exten => _8XXX,n,Playtones(congestion)
exten => _8XXX,n,Hangup()

[autodialer]
exten => h,1,Set(CDR(userfield)=${RTPAUDIOQOS})
exten => 100,1,Playback(demo-instruct)
;exten => h,1,NoOp(RTPAUDIOQOS: ${CHANNEL(rtpqos,audio,all)})
exten => 100,n,Wait(10)
exten => 100,n,Playback(demo-thanks)
exten => 100,n,Hangup

Can you guys please tell me or guide me how to fix this ?
(I’m new to asterisk)

Does anyone know anything about this ?

Also about RTPAUDIOQOS ?

I can’t find anything about this in the documentantion.
Only some bits here and there over the internet …

[quote=“dinoc”]
Also about RTPAUDIOQOS ?

I can’t find anything about this in the documentantion.
Only some bits here and there over the internet …[/quote]

If you don’t know what the values mean, why did you think you needed it in the first place?

The values will be basically the same as those that would be transmitted in RTCP or received from the other side, in RTCP, so ietf.org/rfc/rfc3550.txt should tell you what they mean.

Man, don’t be “clever” by miss interpret my words. I do know what RTCP and RTP are.

The topic is related to he fact the values of RTPAUDIOQOS are not saved in CDR while using a .call file.

I might need some variable set in that .call file but not sure how to debug this further as I’m new to asterisk.

Does anyone have an idea how can I debug this further ?

Did you happen to get any info on this issue.

I am running 11.2-cert2 and am doing pretty much the same thing.

Using a perl script to generate test calls against our production SIP switches.

[code]
; =============================================================
; Test Autodialer for outbound test calls
; =============================================================
[db-autodialer]
exten => 100,1,Noop(UniqueCallId=${UniqueCallId})
exten => 100,n,Noop(CalledParty=${CalledParty})
exten => 100,n,Noop(CallingParty=${CallingParty})
exten => 100,n,Noop(TestCaseID=${TestCaseID})
exten => 100,n,Noop(TestCase=${TestCase})
exten => 100,n,Noop(UNIQUEID=${UNIQUEID})
exten => 100,n,Noop(ANSWEREDTIME=${ANSWEREDTIME})
exten => 100,n,Noop(CallHoldLength=${CallHoldLength})
exten => 100,n,Set(RECORDINGFILENAME=Recording-${STRFTIME(${EPOCH},%Y-%m-%d-%H:%M:%S)}-${UNIQUEID}.${TestCaseID}.WAV)
exten => 100,n,Verbose(1,OutboundCall UniqueCallId:${UniqueCallId},CalledParty:${CalledParty},CallingParty:${CallingParty})
exten => 100,n,Set(DBQ_TC_UPDATECALLLIST(${TestCaseID})=‘COMPLETED:’${CDR(disposition)})
exten => 100,n,Answer
exten => 100,n,MixMonitor(${RECORDINGFILENAME})
exten => 100,n,Wait(${CallHoldLength})
exten => 100,n,Playback(goodbye)
exten => 100,n,Noop(ANSWEREDTIME=${ANSWEREDTIME})
;exten => 100,n,Noop(CDR Duration=${CDR(duration)})
exten => 100,n,Noop(CDR Start=${CDR(start)})
;exten => 100,n,Noop(CDR End=${CDR(end)})
exten => 100,n,Noop(End Time=${STRFTIME(${EPOCH},%Y-%m-%d %H:%M:%S)})
exten => 100,n,Noop(CDR Disposition=${CDR(disposition)})
exten => 100,n,Set(CDR(testcaseid)=${TestCaseID})
exten => 100,n,Set(CDR(UserField)=${RTPAUDIOQOS})
exten => 100,n,Hangup

exten => failed,1,Noop(OutDial Failed ${REASON})
exten => failed,n,Noop(UniqueCallId=${UniqueCallId})
exten => failed,n,Noop(CalledParty=${CalledParty})
exten => failed,n,Noop(CallingParty=${CallingParty})
exten => failed,n,Noop(TestCaseID=${TestCaseID})
exten => failed,n,Noop(TestCase=${TestCase})
exten => failed,n,Verbose(1,OutboundCall UniqueCallId:${UniqueCallId},CalledParty:${CalledParty},CallingParty:${CallingParty})
exten => failed,n,Set(DBQ_TC_UPDATECALLLIST(${TestCaseID})=‘FAILED:’${REASON}-${CDR(disposition)})
exten => failed,n,Set(CDR(testcaseid)=${TestCaseID})
exten => 100,n,Set(CDR(UserField)=${RTPAUDIOQOS})
exten => failed,n,Hangup()

exten => h,1,Noop(Hangup:${HANGUPCAUSE})
;exten => h,n,Noop(CDR Duration=${CDR(duration)})
exten => h,n,Noop(CDR Start=${CDR(start)})
;exten => h,n,Noop(CDR End=${CDR(end)})
exten => h,n,Noop(End Time=${STRFTIME(${EPOCH},%Y-%m-%d %H:%M:%S)})
exten => h,n,Noop(CDR Disposition=${CDR(disposition)})
exten => h,n,Set(CDR(testcaseid)=${TestCaseID})
exten => h,n,Set(CDR(UserField)=${RTPAUDIOQOS})
exten => h,n,DumpChan() [/code]

From the outgoing call file /var/spool/asterisk/outgoing/CALLFILE.00001.00001.00001.call

NOTE: Number change to all 9s for security

Channel: SIP/PRODFGDPLUS/9999999999
CallerID: "Autodialer"<9999999999>
RetryTime: 15
MaxRetries: 1
Context: db-autodialer
Extension: 100
Priority: 1
Set: UniqueCallId=19397.1.1.1
Set: CalledParty=9999999999
Set: CallingParty=9999999999
Set: TestCaseID=19397
Set: TestCase=QUICKTEST
Set: CallHoldLength=5
Archive:No

nope, frankly the lack of support for this and missing documentation put me away of asterisk
for traffic generator I went with sipp - it is a better way