[Home]

Summary:ASTERISK-11672: Choppy voicemail recording for SIP calls via TELES softswitch
Reporter:Fabian Hoppe (fabianhoppe)Labels:
Date Opened:2008-03-18 05:07:04Date Closed:2011-06-07 14:03:11
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Applications/app_voicemail
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:PROBLEM SUMMARY
We're experiencing severe audio problems with (voicemail) recordings on our Asterisk servers for calls originating from a SIP provider using a TELES softswitch/PSTN-gateway.

Calls originating from a __PSTN-source__, encoded from SS7 to VOIP by the TELES gateway and then routed via his TELES softswitch to us show strange audio artefacts.

Calls originating from a _VOIP source_, bypassing the providers PSTN gateway but still being routed via the TELES softswitch don't show the artefacts.

Calls coming in from other SIP providers (using other softswitches) are recorded just fine.

The problem is reproduceable and is related to the recording part as the record application shows the some behaviour. The perceived audio quality is in any case very good. Replacing the call to voicemail by the echo application shows a perfect audio quality.

PROBLEM SYMPTOMS
While systems announcements (especially voicemail menus and personal announcements) are replayed cristal clear, the recordings are often choppy and miss the audio signal in a range of fractions of a second up to several seconds.

Please refer to the attached WAV files which were recorded in parallel, one originated in the PSTN coming in via the TELES gateways and the TELES softswitch as SIP call w/ GSM codec and one originating from a VOIP source, coming bypassign the TELES gateway but being still routed through the TELES softswitch.

The problem is reproducable using the ALAW codec.

OUR FINDINGS SO FAR
- RTP packet size is 20ms for all calls
- Jitter is not a problem (<5ms)
- Packet loss is not a problem (0%)
- Enabling the SIP jitterbuffer nevertheless (including the JB for app patch as proposed by Russell Bryant) has no effect
- The network connection between the TELES softswitch and our servers is irrelevant to the issue as it can be reproduced with an Asterisk server installed in the same GBit-LAN as the softswitch
- The load of the system is not relevant (the test systems have a load near 0)
- zaptel-precision is not an issue (and 99,99% on all system anyway)
- problem can be reproduced with using format_wav and format_wav_gsm
- problem persistes even if the 32KB writebuffer for the write-function is enabled (as proposed by another bug report / feature request in mantis)

MY QUESTIONS
- Can someone analyse the attached tcpdump for any differences in the two audio stream which might cause the audio artefacts? Are there any differences?
- Are implementation variances for the GSM and ALAW codecs possible?
- Any ideas but chosing another SIP provider?

****** ADDITIONAL INFORMATION ******

OUR ENVIRONMENT
INTEL DUO CORE 2,6 GHz, 2GB RAM
openSuSe 10.2
Kernel 2.6.22-5-31 with HP Timer Support and Timer set to 1000hz
mysql 5.0.26
Asterisk 1.4.18 with ARA (SIP, QUEUES, VOICEMAIL) but static dialplan
TC400B trabscoder card installed and configured
Zaptel 1.4.8 with wtc4xx and ztdummy support with zttest reporting 99,99X% timing accuracy even under high system load
SIP-only environment

FURTHER DETAILS
voicemail.conf
[general]
format=wav|gsm|wav49

fromstring = XXXXXx
emailsubject = Neue Sprachnachricht von ${VM_CIDNUM}
emailbody = XXXXXXXX
attach = yes
maxmsg = 100
maxmessage = 180
minmessage = 3
maxgreet = 60
skipms = 3000
maxsilence = 10
silencethreshold = 128
maxlogins = 3
emaildateformat = %d.%m.%C um %H:%M:%S
serveremail=XXXXXX
attach=yes
skipms=3000
maxsilence=10
silencethreshold=128
maxlogins=3
odbcstorage=asteriskVM
odbcstoragewrite=asteriskVMwrite
odbctable=tblvoicemessages
emaildateformat=%A, %B %d, %Y at %r
sendvoicemail=yes

Log of voicemail recording
-- Recording the message
-- x=0, open writing: /var/spool/asterisk/voicemail/K0001/121/tmp/dqaSDF format: wav, 0x875db38
-- x=1, open writing: /var/spool/asterisk/voicemail/K0001/121/tmp/dqaSDF format: gsm, 0x8cef3c0
-- x=2, open writing: /var/spool/asterisk/voicemail/K0001/121/tmp/dqaSDF format: wav49, 0x8e7d9f8
-- User hung up
== Parsing '/var/spool/asterisk/voicemail/K0001/121/INBOX/msg0000.txt': Found

lsmod excerpt
wctc4xxp 54324 0
zttranscode 12168 1 wctc4xxp
firmware_class 14080 1 wctc4xxp
ztdummy 8376 0
zaptel 190084 26 zttranscode,ztdummy

dmesg excerpt
Zapata Telephony Interface Registered on major 196
Zaptel Version: 1.4.8
Zaptel Echo Canceller: MG2
ztdummy: Trying to load High Resolution Timer
ztdummy: Initialized High Resolution Timer
ztdummy: Starting High Resolution Timer
ztdummy: High Resolution Timer started, good to go
Zaptel Transcoder support loaded
ACPI: PCI Interrupt 0000:04:01.0[A] -> GSI 22 (level, low) -> IRQ 19
Registered codec translator 'DTE Encoder' with 92 transcoders (srcs=0000000c, ds
ts=00000101)
Registered codec translator 'DTE Decoder' with 92 transcoders (srcs=00000101, ds
ts=0000000c)
Zaptel DTE (G.729a / G.723.1) Transcoder support LOADED (firm ver = 6.12)
Found and successfully installed a Wildcard TC: Wildcard TC400P+TC400M

ATTACHMENTS
A recording of a choppy voicemail coming from PSTN in via the TELES gateway and softswitch, a parallel voicemail coming in from a VOIP source via the TELES softswitch bypassing the TELES gateway and a tcpdump of both calls showing jitter <5ms and no packet loss for both calls can be retrieved under ftp://88.217.254.5, login digium, password digium
Comments:By: Russell Bryant (russell) 2008-03-18 10:28:06

Please try using a jitterbuffer to see if it helps.  I wrote up some info on how to use the jitterbuffer with voicemail, but my site is currently down.  Here is a link to the google cache of the text ...

http://209.85.207.104/search?q=cache:yNxuH3UBZ4YJ:www.russellbryant.net/blog/index.php/2007/10/09/asterisk-jitterbuffer-support-for-applications/+jitterbuffer+support+for+applications&hl=en&client=firefox-a&gl=us&strip=1

By: Fabian Hoppe (fabianhoppe) 2008-03-18 10:44:50

Hi Russel,

I already tried that patch (nice work btw) but it had no effect at all. According the wireshark th e jitter is below 5ms anyway...

Cheers, Fabian

By: Frank Waller (explidous) 2008-03-18 21:29:23

Just for a try, we have seen similar issues with the gcc 4.2 problem from ASTERISK-1118243, so if your compiler was a gcc 4.2.X and if you recompile setting the DONT_OPTIMIZE flage for everything do you still have the problem?

By: Fabian Hoppe (fabianhoppe) 2008-03-19 03:26:37

The system has gcc 4.1.2 installed, nevertheless I already tried the DONT_OPTIMIZE flag and it didn't change anything. Is it worth to update to the latest gcc version?

By: Fabian Hoppe (fabianhoppe) 2008-03-19 10:36:49

We just installed gcc 4.3.0 and recompiled asterisk 1.4.18 (one time w/o and one time w/ compiler flag DONT_OPTIMIZE). The artefacts are still reproduceable.

Is anybody able to analyse the RTP packets in the tcpdump arriving from the softswitch? Can any difference be recognized?

By: Russell Bryant (russell) 2008-03-19 11:12:02

I really do appreciate your detailed report.  However, I really do consider this more of a technical support ticket than a bug report.  There is no magic involved in writing files.  Asterisk literally writes out the audio that it receives.  There is nowhere where it can mess up your audio, unless transcoding was broken.  And, we have pretty much ruled the known issues in that area already.  In that case, since this is not a support forum, I'm going to close this out.