IRC log for #asterisk-bugs on 20080207

00:11.52lmadseno.O
02:41.28lmadsenCorydon76-dig: heh... 10540 gives a segfault
02:49.19Corydon76-digBacktrace?
02:50.55Corydon76-diglmadsen: p c->cdr
02:51.23Corydon76-digand: p c->cdr->start
02:51.26lmadsenCorydon76-dig: $1 = (struct ast_cdr *) 0x2
02:51.36Corydon76-digOooo, that's bad
02:51.38lmadsenCannot access memory at address 0x282
02:51.56lmadsenI think this is something in trunk in general...
02:52.02lmadsenbecause it did it while calling any extension :)
02:52.04Corydon76-digYeah, probably
02:52.15lmadsenalthough I haven't had a chance to try backing out the 10540 patch
02:52.41Corydon76-digThat's memory corruption again, most likely
02:52.49Corydon76-digtime for valgrind, perhaps?
02:52.56lmadsenperhaps
02:52.59lmadsenlet me install it
02:55.33lmadsenrunning it now
02:57.17lmadsenCorydon76-dig: see valgrind.txt on the bug
02:59.24*** join/#asterisk-bugs JunK-Y (n=junky@modemcable183.17-83-70.mc.videotron.ca)
02:59.24*** mode/#asterisk-bugs [+o JunK-Y] by ChanServ
03:05.52*** join/#asterisk-bugs russellb (n=russell@asterisk/developer-and-stable-maintainer/drumkilla)
03:05.52*** mode/#asterisk-bugs [+o russellb] by ChanServ
03:50.37*** join/#asterisk-bugs russellb (n=russell@asterisk/developer-and-stable-maintainer/drumkilla)
03:50.37*** mode/#asterisk-bugs [+o russellb] by ChanServ
03:53.21*** join/#asterisk-bugs russellb (n=russell@asterisk/developer-and-stable-maintainer/drumkilla)
03:53.21*** mode/#asterisk-bugs [+o russellb] by ChanServ
06:51.33*** join/#asterisk-bugs oej (n=olle@soll4-125.cust.blixtvik.net)
07:46.17*** join/#asterisk-bugs oej (n=olle@soll4-125.cust.blixtvik.net)
08:03.42*** join/#asterisk-bugs agx (n=AGX@host63-216-static.34-88-b.business.telecomitalia.it)
09:26.27*** join/#asterisk-bugs sx|lappy (n=sxpert@lgit-1225.obs.ujf-grenoble.fr)
09:51.07*** join/#asterisk-bugs sx|lappy (n=sxpert@lgit-1225.obs.ujf-grenoble.fr)
10:01.49*** part/#asterisk-bugs jmls (n=jmls@81.138.42.77)
10:14.30*** join/#asterisk-bugs jmls (n=jmls@81.138.42.77)
12:08.43*** part/#asterisk-bugs jmls_home (n=jmls@81.138.42.77)
12:09.59*** join/#asterisk-bugs jmls_work (n=jmls@81.138.42.77)
12:30.33*** join/#asterisk-bugs flujan (n=flujan@200-160-115-020.static.spo.ctbc.com.br)
13:27.42*** join/#asterisk-bugs lmadsen (n=Leif@asterisk/documenteur-extraordinaire/blitzrage)
13:27.42*** mode/#asterisk-bugs [+o lmadsen] by ChanServ
13:29.04lmadsenmorning all!
14:17.54*** join/#asterisk-bugs fakhir (n=fakhir@unaffiliated/fakhir)
14:48.23*** join/#asterisk-bugs miguel3239 (n=elguerom@ns1.nashuacs.com)
15:30.18*** join/#asterisk-bugs d1mas (n=chatzill@ip195.117.adsl.wplus.ru)
15:30.53d1masquestion: why Asterisk DSP code is designed to return DTMF_END only and never DTMF_BEGIN ?
15:54.57lmadsenhrmmm... maybe it's not VLDTMF and it only sent DTMF_ENDs ?
15:57.22d1maslmadsen: do you know what VL in VLDTMF stands for ?
15:57.30lmadsenvariable length
15:58.03d1masaha...
15:59.08d1maslmadsen: what does it mean "it is not VLDTMF" then? I suppose I can generate as long digit as I want just holding the key...
15:59.29d1masok, I will re-phrase my question
15:59.39*** join/#asterisk-bugs putnopvut (n=putnopvu@216.207.245.1)
15:59.40*** mode/#asterisk-bugs [+o putnopvut] by ChanServ
16:00.32d1masdsp.c detects where digit started and where it ends. So it _could_ generate both DTMF_BEGIN and DTMF_END but it only generates END. Why?
16:00.42lmadsengood question
16:01.32fileit was changed to generate both a begin and an end, but it may not have been changed the right way
16:01.41lmadsenoic
16:01.53d1masoh
16:02.15d1masSo can I assume it will be good move to generate both?
16:03.06fileif it doesn't already, sure
16:03.06d1masfile: it is not AFAIK
16:03.59d1masfile: there IS code which can generate DTMF_BEGIN but it works only when DSP_DIGITMODE_MUTECONF or DSP_DIGITMODE_MUTEMAX is set. Which is not often.
16:04.14fileand like, barely any of us core developers know dsp.c
16:04.34d1mas(and that code is broken actually as I already explained Qwell. He agreed)
16:05.03d1masok. I just wanted to know if DTMF_BEGIN is desired thing
16:05.31d1masfile: I have another question to you anyway. And you know it :)
16:08.45d1maseh :)
16:08.47putnopvutWhat is file doing today?
16:08.53d1masWill find you tomorrow then :)
16:09.04putnopvutbriding? netsock? something super secret?
16:09.14d1masdrilling oil :)
16:09.19fileputnopvut: I don't have anything super secret :(
16:09.24putnopvutAw...
16:09.38putnopvutYou and I should work on a joint super-secret effort of some sort.
16:09.48putnopvutYou do all the work, and I leak the secret.
16:09.52filepfft
16:09.57fileI haven't done a joint project in awhile
16:10.00codefreezeHow about global domination?
16:10.07putnopvutThat could be fun.
16:10.09filethere is something...
16:12.26*** join/#asterisk-bugs russellb (n=russell@asterisk/developer-and-stable-maintainer/drumkilla)
16:12.27*** mode/#asterisk-bugs [+o russellb] by ChanServ
16:48.59flujanputnopvut: hi... I will test the queue past tomorrow morning... :D
16:49.13flujanputnopvut: just in time, how are you doing? :)
16:49.32flujanputnopvut: here in Brazil we enter in a carnival periody... I just return work today.
16:49.33putnopvutI'm doing fine.
16:49.45putnopvutHow long have you had the patch applied?
16:50.40flujanputnopvut: no days... I left last friday leaving the vanilla 1.4.17 on the machine...
16:50.52flujanI will put the patch on production tomorrow morning...
16:51.03putnopvutOh, okay.
16:52.59flujanputnopvut: we really use the queue here. Just now, there are 56 agents and 20 guys waiting in the queue. If I stop asterisk now and try the patch, my boss will kill me... He is just amazed that the server stop crashing... ( queues.conf instead of the realtime ) that he does not want it to stop anymore... :P
16:53.58putnopvutI understand. There's no rush. I'd rather be certain that the patch works than to rush it into Asterisk and find out it is no good.
16:55.12jmls_workputnopvut: where's your spirit of adventure ?
16:55.37putnopvutjmls_work: it is strongly rooted in all things non-work-related.
16:56.51jmls_workheh
16:57.08jmls_workthere is such a thing as non-work-related ?
17:18.44d1masAnyone familar with Zaptel+Meetme at the same time? When Zap calls MeetMe conference and presses digits, DTMF tones get played to all participants. This does not happen when SIP callers press digits. I've checked that dsp.c actually squelches DTMF tones from signal. So who plays tones to the conference ?
17:19.30jmlsM11943
17:19.31MuffinMan[assigned] [Asterisk] Functions/func_logic 0011943: Feature to write variables to existing channels other than your own (func chanvar) reported by ramonpeek  http://bugs.digium.com/view.php?id=11943
17:19.47jmlsanyone like the idea of read-only variables ?
17:20.10Qwelljmls: const?
17:20.16lmadsenya... I was thinking const too
17:20.31lmadsenSet(CONST(foo)=bar)
17:20.35jmlspotato / potatoe ;)
17:20.36Qwellread-only would make 0 sense, since...well...you wouldn't be able to write to it
17:20.38lmadsenSet(foo=blah)
17:20.44Qwellwhich means it would always be empty
17:20.47lmadsen[ERROR]: Variable is read only
17:21.43lmadsenI think it could make dialplans error prone to be honest...
17:21.47jmlsif you had readonly, you could allow it to be created, but not modified, from another channel
17:22.02jmlsso you couldn't overwrite an existing variable
17:22.06lmadsenbut it already isn't modifiable from another channel....
17:22.10lmadsenunless it's inherited
17:22.15jmlsthat's the problem
17:22.22Qwell11943 adds that :D
17:22.23lmadsenso don't inherit it :)
17:22.26lmadsenM11943
17:22.27MuffinMan[assigned] [Asterisk] Functions/func_logic 0011943: Feature to write variables to existing channels other than your own (func chanvar) reported by ramonpeek  http://bugs.digium.com/view.php?id=11943
17:22.48lmadsenheh, neat :)
17:23.00Qwellthat's what I said.  go test it!
17:23.03jmlsif you are using originate, you can't inherit because the second leg is already created before you get to the dialplan of the first leg
17:23.18jmls(or vice-versa - can't remember which)
17:23.29lmadsenah yes, atis_work saw that the other day
17:23.44d1masQwell: hello. regarding 11796 - is something else need to be done ?
17:23.54lmadsenM11796
17:23.55MuffinMan[new] [Asterisk] PBX/General 0011796: [patch] refactoring of fax tone detection in DSP reported by dimas  http://bugs.digium.com/view.php?id=11796
17:24.15Qwelld1mas: I'd like to see more than just IgorG test it
17:24.31jmlsQwell: if you could prevent a variable from being overwritten in a channel from another channel, surely there is no harm in allowing a *new* variable to be created ?
17:24.31Qwellthe code mostly looked okay the last time I looked at it though
17:24.41d1masQwell: I did :) I installed that dsp.c to my production 1.4
17:24.47d1masit runs there now
17:24.48Qwelld1mas: I mean besides you :p
17:24.55d1masok :)
17:25.23Qwellwhile I'm sure it works for your scenario, that was the scenario it was written for - so what I'd like to see is somebody with different usage of it
17:26.07d1masQwell: sure I understand. However I do not know how to encourage people to test it
17:26.53putnopvutIf it gets put into a beta of the next 1.6 release, it would get tested...
17:27.12putnopvutBut that's probably jumping the gun a bit.
17:28.09d1mashehe. I have two more patches for dsp.c so by the moment they all be integrated, DSP will change A LOT from where it is now...
17:36.25d1masQwell: by any chance - do you know the idea behind AST_FLAG_END_DTMF_ONLY channel flag? If someone needs END frames only - why not simple ignore BEGINs ?
17:36.39Qwelld1mas: no idea
17:37.48d1masoh. Russellb, maybe you?
17:38.17russellbwhat?
17:38.27russellbum
17:38.53russellbto avoid extra processing for emulation when it's not needed
17:39.04russellband for some cases when no frames are coming through which allow proper processing for emulating the full digit
17:39.17russellbit has been a while since i have looked at it ..
17:39.27d1masrussellb: by "extra processing" you mean the code of ast_read only or something else?
17:41.26d1masrusselb: well my understanding is that DTMF frames are quite rare (compared to voice for example) so performance gain from not producing BEGIN frames is insignificant. Am I wrong?
17:42.00russellbin ast_read, yeah
17:42.18russellbbut it's more for the case where there are no extra frames coming through to time the emulation off of
17:42.21russellbSIP INFO is a key example
17:42.25russellbmedia isn't coming through
17:42.38russellbso if you turn the END from an INFO message into a begin, then you have no way to later generate the END
17:42.52d1masah...
17:42.56russellbso, we just pass the END through, so it can go back out as INFO
17:43.18russellbi think that is what prompted the creation of that flag
17:44.19d1masthat is something I do not understand yet but that is definitely important stuff. I will think about it
17:44.42d1masmuch more important than performance gain
17:47.49russellbyeah, that was the reason ... the performance part was just a side effect
17:48.56d1masrussellb: sorry, still need some explanation.Tried to understand it myself but it does not work :)  I'm not familar with SIP INFO - are you saying that when DTMF mode is INFO, there are not begin and end messages, only the end ?
17:49.43russellbthat is correct
17:49.59russellbthe dtmf is sent as a single SIP signalling message
17:50.14russellbif both sides are SIP INFO, then the media may not be going through Asterisk, because it doesn't need to
17:50.17russellbsince we can monitor DTMF without it
17:50.38russellbbut in that case, if we turn the single DTMF frame into a begin, there are no other frames coming through ast_read we can use to make sure we generate the END at the right time
17:50.56d1masrussellb: ok. But what you mean seying "so if you turn the END from an INFO message into a begin, then you have no way to later generate the END" ? If standalone END is translated into BEGIN+END - there will be END anyway...
17:51.26russellbhow would you know to send a BEGIN and END at the same time?
17:51.28russellband what's the point?
17:52.05d1masrussellb: well, it won't be the same time - END translated to BEGIN and then later END is generated (emulation)...
17:52.16russellbright, but that's my point, emulation can't work in this case
17:52.21d1masahaaaa... there is no voice so no END will be generated "later"
17:52.28russellbright :)
17:52.31d1masgot it
17:52.40russellbcool
17:52.45d1masthanks
17:53.02russellbno problem
17:53.53russellbi want you to understand, you're a good help :)
17:54.17russellbif i can't explain it to you, it's probably wrong, so it's a good exercise :)
17:54.32d1mas:)
17:58.38d1masrussellb: but who actually sets this flag in case of INFO DTMF mode? I see no such code in chan_sip.c ? ast_bridge sets this flag when channel driver does not provide send_digit_begin function but SIP driver provides it.
18:01.53russellbthe SIP driver doesn't provide it if the channel uses INFO dtmf
18:01.59russellbit's sort of a hack :)
18:02.43d1masomg
18:03.20d1masoh now I see...
18:05.32d1masrussellb: one last thing. when application handles a call - the call is not considered "bridged" right? So the flag is not set and my understanding is that ast_read may emulate BEGINs . Correct?
18:07.02russellbcorrect
18:07.11russellbbut if it's not bridged, then the media is coming into asterisk by definition
18:08.04russellband we want emulation to happen then
18:08.30d1masok
18:08.43d1maslife isn't easy :)
18:43.51d1masrussellb: actually... ast_read can still activate emulation mode when AST_FLAG_END_DTMF_ONLY is on. This happens if it receives END frame with very short duration - in this case it reschedules END for later. This looked pretty much ok for me until your description of SIP+INFO
18:44.55d1masrussellb: now I would say that if too short DTMF END would be delivered with SIP INFO, it won't be processed properly (or it will be delayed considerably until next voice/null frame)
18:45.08d1masconsiderably = significantly
19:49.26russellbd1mas: if it does that, then you are correct that it is wrong
19:49.43russellbif it is END_ONLY, and the duration is too short, then the duration should just be bumped up and passed along
19:50.05Qwelld1mas: I think you forgot to upload a patch on 11949
19:50.21d1masM11949
19:50.22MuffinMan[new] [Asterisk] Resources/res_features 0011949: [patch] log what digits feature tries to match reported by dimas  http://bugs.digium.com/view.php?id=11949
19:51.35d1mascool. I definitely attached it. Interesting - to which issue :)
19:51.44Qwellheh
19:52.08d1masnow attached. It is a one-liner actually :)
19:52.18Qwellyeah, I think that's good to go in 1.4 too
19:54.10*** join/#asterisk-bugs agx (n=badpengu@81-174-45-198.dynamic.ngi.it)
19:55.20d1masrussellb: sorry, what "bumped up" means? :)
19:55.27d1mas(in respect to duration)
19:56.59russellbincreased
19:57.17russellbif (duration < MIN_DURATION) duration = MIN_DURATION
19:59.38d1masrussellb: but is it valid action to change len on a frame and pass it further ?
20:00.14russellbsure, we make the rules :)
20:00.24russellbif we get a digit with a duration we find unacceptable, sure, why not modify it :)
20:00.27russellbwe're not a proxy
20:00.30d1masI recall something related on Mantis - there was problem with RTP timestamps or something... hold on
20:00.39russellbah, that's different
20:00.54russellbif you regenerate timestamps, that screws up the jitterbuffer on the endpoint
20:02.08d1masrussellb: well because I (as a program at the remote end) would expect that lens of packets add up to a call length and not that sum(len) is greater than real time length
20:02.37d1maswell, it was bad explanation. Let me put it this way - receiving a RTP frame I would expect its timestamp is >= last_timestamp+last_len
20:03.01d1masif len field can be adjusted for packets - this is not true anymore
20:03.04russellbright, well the only way that could happen is with INFO
20:03.15d1mashmm...
20:03.20russellbif the length gets adjusted with DTMF associated with BEGIN and END, then they get queued up
20:03.25russellband are generated in the time that we say it is
20:04.18d1mas"hmm..." = "yes you are right but there is something wrong with it" :)
20:09.22d1masjfyi, why I'm digging in it - the emulation code as it is currently looks a bit complicated to me. I personally find it difficult to trace its logic and there are a lot of subtle situations where given status (combination of flags + incoming event) are not handled. There are already couple of related issues on Mantis - 11740 and 11911
20:10.26russellbit is complicated ... it got complicated over time ...
20:11.12d1masthat is destiny of every piece of code - it gets complicated over time...
20:12.34russellb:)
20:26.23*** join/#asterisk-bugs sx|lappy (n=sxpert@home.riquer.fr)
20:31.55*** part/#asterisk-bugs agx (n=badpengu@81-174-45-198.dynamic.ngi.it)
20:59.18*** join/#asterisk-bugs sx|lappy (n=sxpert@home.riquer.fr)
21:11.40*** join/#asterisk-bugs sx|lappy (n=sxpert@home.riquer.fr)
21:29.14*** join/#asterisk-bugs kpfleming (n=kpflemin@216.207.245.1)
21:29.14*** mode/#asterisk-bugs [+o kpfleming] by ChanServ
21:37.11*** join/#asterisk-bugs fakhir (n=fakhir@unaffiliated/fakhir)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.