[Home]

Summary:ASTERISK-06625: IAX2 native transfer no audio with jitterbuffer=yes
Reporter:Martin Vit (festr)Labels:
Date Opened:2006-03-27 11:47:05.000-0600Date Closed:2006-05-30 14:52:11
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_iax2
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) error.txt
( 1) iax.conf.txt
Description:3 asterisk boxes.
A: with PRI and iax jitterbuffer=yes
B: no HW iax jitterbuffer=no (ztdummy)
C: no HW iax jitterbuffer=yes (ztdummy)

call setup: PRI A -> IAX B -> IAX C. After second call is transfered so A <-IAX-> C.

Problem: jitterbuffer=yes: A hear nothing from C. jitterbuffer=no solve this.

all asterisks is 1.2r14868M (today revision)



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

How to debug this?
Comments:By: Serge Vecher (serge-v) 2006-05-02 10:12:07

festr: what modifications were done to the source? Does this problem still exist?

By: Serge Vecher (serge-v) 2006-05-10 10:46:23

no response from the reporter -- if you are able to reproduce this issue with the latest trunk or 1.2 branch, feel free to reopen the bug with pertinent debugging information. Thank you.

By: Martin Vit (festr) 2006-05-15 07:24:09

Sorry for late answer, i've been on vacation.

edit:
no modifications to the source code

Native transfer is still broken with versions:

asterisk A (with PRI termination) SVN-branch-1.2-r24496M,
asterisk B ("proxy" server) (SVN-branch-1.2-r24496M),
asterisk C (SIP proxy) SVN-branch-1.2-r20037M

iax configuration:

asterisk A:
[a]
type=friend
auth=plaintext,md5
secret=xxx
username=a
notransfer=no
disallow=all
allow=g729
qualify=no
tos=none
jitterbuffer=yes
forcejitterbuffer=yes
maxjitterbuffer=500
maxexcessbuffer=80
minexcessbuffer=50
jittershrinkrate=1
trunk=no
trunkfreq=20
host=xxx
delayreject=no
context=xxx


asterisk B:

[a]
type=friend
auth=plaintext,md5
username=a
secret=xxx
accountcode=IAX_1
notransfer=no
disallow=all
allow=alaw
allow=g729
qualify=no
tos=none
jitterbuffer=yes
forcejitterbuffer=no
maxjitterbuffer=500
maxexcessbuffer=80
minexcessbuffer=50
jittershrinkrate=1
trunk=no
trunkfreq=20
host=xxx
delayreject=no
context=xxx

[c]
type=friend
auth=
username=astkancl
secret=uqwrBFS
accountcode=IAX_4
notransfer=no
disallow=all
allow=g729
qualify=no
tos=none
jitterbuffer=yes
forcejitterbuffer=no
maxjitterbuffer=500
maxexcessbuffer=80
minexcessbuffer=50
jittershrinkrate=1
trunk=no
trunkfreq=20
host=212.71.189.198
delayreject=no
context=inRoute-IAXid-4

asterisk C:

same configuration


i can reproduce this with 50% of calls.

scenario: SIP call -> asterisk C IAX -> asterisk B IAX -> asterisk A -> PRI (quad digium E1). I can hear voice from PRI to SIP but on PRI side, there is no audio.


asterisk B:
transfer scenario
  -- IAX2/a-25 stopped sounds
   -- IAX2/a-25 answered IAX2/c-24
   -- Attempting native bridge of IAX2/c-24 and IAX2/a-25
   -- Channel 'IAX2/a-25' ready to transfer
   -- Channel 'IAX2/c-24' ready to transfer
   -- Releasing IAX2/c-24 and IAX2/a-25

asterisk A:

simplex call:
   -- IAX2/a-16 answered Zap/46-1
May 15 13:25:48 DEBUG[3711]: chan_iax2.c:7989 network_thread: chan_iax2: ast_sched_runq ran 76 scheduled tasks all at once
May 15 13:25:48 DEBUG[3531]: channel.c:777 channel_find_locked: Avoiding initial deadlock for 'Zap/46-1'
May 15 13:25:48 DEBUG[3711]: chan_iax2.c:7989 network_thread: chan_iax2: ast_sched_runq ran 1870 scheduled tasks all at once


it seems, that simplex calls have some connection with "ast_sched_runq ran 1870 scheduled tasks all at once". I've tryed turn off jitterbuffer on asterisk A:

   -- Zap/41-1 answered IAX2/a-1
May 15 13:33:04 WARNING[3711]: chan_iax2.c:7552 socket_read: Received mini frame before first full voice frame
May 15 13:33:04 WARNING[3711]: chan_iax2.c:7552 socket_read: Received mini frame before first full voice frame
May 15 13:33:04 WARNING[3711]: chan_iax2.c:7552 socket_read: Received mini frame before first full voice frame
May 15 13:33:04 WARNING[3711]: chan_iax2.c:7552 socket_read: Received mini frame before first full voice frame
May 15 13:33:04 WARNING[3711]: chan_iax2.c:7552 socket_read: Received mini frame before first full voice frame
May 15 13:33:04 WARNING[3711]: chan_iax2.c:7552 socket_read: Received mini frame before first full voice frame
May 15 13:33:04 WARNING[3711]: chan_iax2.c:7552 socket_read: Received mini frame before first full voice frame
May 15 13:33:04 DEBUG[3711]: chan_iax2.c:6670 socket_read: Ooh, voice format changed to 256
May 15 13:33:04 DEBUG[3711]: chan_iax2.c:6639 socket_read: Received iseqno 8 not within window 1->1
May 15 13:33:04 DEBUG[3711]: chan_iax2.c:6639 socket_read: Received iseqno 8 not within window 1->1
May 15 13:33:04 DEBUG[3711]: chan_iax2.c:6639 socket_read: Received iseqno 8 not within window 1->1
May 15 13:33:04 DEBUG[3711]: chan_iax2.c:6639 socket_read: Received iseqno 8 not within window 1->1
May 15 13:33:04 DEBUG[3711]: chan_iax2.c:6639 socket_read: Received iseqno 8 not within window 1->1
May 15 13:33:04 DEBUG[3711]: chan_iax2.c:6639 socket_read: Received iseqno 8 not within window 1->1
May 15 13:33:04 DEBUG[3711]: chan_iax2.c:6639 socket_read: Received iseqno 8 not within window 1->1

asterisk A:
tail -n 100000 full|grep -i runq

May 14 21:24:53 DEBUG[3711] chan_iax2.c: chan_iax2: ast_sched_runq ran 809 scheduled tasks all at once
May 15 06:28:46 DEBUG[3711] chan_iax2.c: chan_iax2: ast_sched_runq ran 2076 scheduled tasks all at once
May 15 07:36:00 DEBUG[3711] chan_iax2.c: chan_iax2: ast_sched_runq ran 99 scheduled tasks all at once
May 15 07:36:00 DEBUG[3711] chan_iax2.c: chan_iax2: ast_sched_runq ran 1047 scheduled tasks all at once
--cut--
every 15minute there is 20 debug logs with ast_sched_runq

processor is smp 2xeons 1MBL2, load  0.30, 0.16, 0.14

vmstat 1:

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
5  0      0 1600476      8 251116    0    0     0    58   21    35  9  1 90  0
1  0      0 1600476      8 251116    0    0     0   105 2639  3307  7  1 92  0
0  0      0 1600476      8 251116    0    0     0    68 2618  3131  8  1 91  0


sip/iax peers:

971 sip peers [108 online , 863 offline]
23 iax2 peers [0 online, 0 offline, 23 unmonitored]



By: Serge Vecher (serge-v) 2006-05-15 09:41:42

hmmm, you report no mods to the source, yet the version # indicate that the source was indeed modified...

I wonder if this is a problem with the "old" iax2 jitterbuffer, which was completely removed in trunk of r26564. If you can't test the Asterisk trunk on your servers, can you please uncomment #define NEWJB in chan_iax2, recompile, and test?

Also, you might as well bring all servers to latest 1.2 branch, which is currently at circa rev. 27000.

Thanks.

By: Martin Vit (festr) 2006-05-15 10:11:05

i cant test trunk version even though i want.

I can upgrade all servers. I'd like to ask if there can be problem with ast_sched_runq (present in every simplex call) and if there is way how to eliminate this. I'll post results soon.

By: Serge Vecher (serge-v) 2006-05-22 15:00:12

festr: sorry to be on your toes, but we need quick responses here, since work is in process to iron all bugs out in the stable branch. Did you try my suggestion? Does the problem still exist in latest 1.2?

By: Ronald Chan (loloski) 2006-05-26 21:51:16

vechers: i was able to reproduce this bug in the following scenario
with the latest trunk  Asterisk SVN-trunk-r30630 please let me know more
if you need anything.


ATA -> SIP -> IAX2 -> Idefisk softphone

p.s.

i have a 1 way audio distored problem, the callee is claiming that the voice on right leg of the call is working, but on the left leg of the call we are getting a distored and full of echo.

the latency from the server end and the caller is 40 ms avg.
sorry i think this is not really related here, but i get a tons of mini voice frame warning.

guys if you think this is not really related to each other, i could file another bug report and please disregard this




--Ronald



By: Serge Vecher (serge-v) 2006-05-30 08:19:19

loloski: do you have the same settings as festr originally reported?

By: Ronald Chan (loloski) 2006-05-30 12:58:28

vechers:

 please disregard my useless post here, i guess my problem is not related here anymore. well i will try to produced the same setup with the above bug report in our lab, to check if i can reproduced it, to help you guys out.


--Ronald

By: Serge Vecher (serge-v) 2006-05-30 14:52:10

festr, loloski: if you are able to reproduce this with absolutely latest 1.2 branch (rev > 31000), please feel free to open the new bug.