[Home]

Summary:ASTERISK-04530: ZapRAS leaves PRI channel in "unclean" state
Reporter:Josef Bichlmeier (josy)Labels:
Date Opened:2005-07-06 05:23:44Date Closed:2005-07-06 07:08:17
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:When using ZapRAS over a PRI channel over a T1 TE100P line (Germany), and after using the same channel for audio communication, the sound quality is awful and has jitter.

In app_zapras after closing the line, there is some code which reestablish
the audio setting (lines 165 - 177) :
/* Double check buffering too */
res = ioctl(chan->fds[0], ZT_GET_BUFINFO, &bi);
if (!res) {
/* XXX This is ZAP_BLOCKSIZE XXX */
bi.bufsize = 204;
bi.txbufpolicy = ZT_POLICY_IMMEDIATE;
bi.rxbufpolicy = ZT_POLICY_IMMEDIATE;
bi.numbufs = 4;
res = ioctl(chan->fds[0], ZT_SET_BUFINFO, &bi);
if (res < 0) {
ast_log(LOG_WARNING, "Unable to set buffer policy on channel %s\n", chan->name);
}
}

The line "bi.bufsize = 204;" seems to be wrong.

By changing the line here to set it to a buffer size of 160 solves the problem.

Because I do not have the background to understand the zaptel driver architecture, I only have dedected this by reading the value of bufsize before using the channel and it was set to 160. So I assumed that this would also be the correct value which should be established afterwards.

At least it works !

Comments:By: Michael Jerris (mikej) 2005-07-06 06:47:45

there were changes to this code last night in head.  Can you please confirm that this is an issue in very latest head.

Thanks

By: Josef Bichlmeier (josy) 2005-07-06 07:06:29

I have checked code changes in latest head.

The change saves the buffer state before and restores it to the same state
as before. I assume this cures the problem. So this issue 0004650 can be treated
as a duplication and is obsolete.

I cannot confirm that this is an issue in very latest head.

This issue 0004650 can be closed.