IRC log for #asterisk on 20210513

00:48.16*** join/#asterisk DivideBy0 (DivideBy0@unaffiliated/divideby0x0)
00:48.16*** mode/#asterisk [+o DivideBy0] by ChanServ
00:48.49*** join/#asterisk ghoti (~paul@dsl-rb-64-118-22-159.wtccommunications.ca)
01:35.27*** join/#asterisk post-factum (~post-fact@vulcan.natalenko.name)
01:56.30*** join/#asterisk tsal (~tsal@i59F52625.versanet.de)
01:57.12*** join/#asterisk mr44er1 (~mr44er@dynamic-046-114-002-130.46.114.pool.telefonica.de)
01:57.47jbgCan anyone explain this behaviour? an ODBC function always returns the column value truncated to 15 characters https://www.irccloud.com/pastebin/JoDnr2im/
02:03.02jbgoh wow, it is... deliberate? https://github.com/asterisk/asterisk/blob/master/funcs/func_odbc.c#L929
02:03.15jbgnobody ever wanted to select more than 15 characters via func_odbc before?
02:03.53seanbrightit is not deliberate
02:04.03seanbrightwhat is the column type and length?
02:04.12jbgit's a text column, no specified length
02:04.34jbgif it's not deliberate, I should be safe to increase the size of this buffer?
02:04.50seanbrightthat won't do anything, but knock yourself out
02:04.54jbg...
02:05.04seanbrightand if it does do something, then there is another bug
02:05.22seanbrightthat 16 is an initial size
02:05.45seanbrightoh wow... is making space in the buffer... deliberate? https://github.com/asterisk/asterisk/blob/master/funcs/func_odbc.c#L956
02:06.01jbgit's mighty convenient that it's the exact length the text is being truncated to, though, isn't it?
02:06.08seanbrightsure is
02:06.14seanbrightlike i said, knock yourself out
02:06.22jbgso you'd guess the bug lies elsewhere
02:06.25seanbrightthat's american for "go for it"
02:06.42seanbrightwhat version of asterisk are you running?
02:07.08jbg18.2.2
02:07.28jbgI seem to be not the first to have this issue, and not the first to think that patching that value would solve it: https://community.asterisk.org/t/asterisk-16-12-0-func-odbc-truncates-field-data-to-15-symbols/85627
02:07.32jbg(and in their case it did solve it)
02:08.07seanbrightok, then by all means
02:08.18jbgin their case it's the write function though
02:08.22jbgso potentially handled differently
02:08.41seanbrightright after this line: https://github.com/asterisk/asterisk/blob/18/funcs/func_odbc.c#L1597
02:08.44seanbrightadd this:
02:09.20seanbrightast_log(LOG_ERROR, "octetlength: %d\n", octetlength);
02:09.29seanbrightrecompile, reinstall, test again
02:09.48jbgit looks like make_space uses the 'length' from SQLDescribeCol, which maybe isn't provided for a column like 'text' without a provided length?
02:10.25seanbrightcertainly possible
02:11.09seanbrightodbc is a dumpster fire
02:12.23seanbrightto be clear - that log message will only show up when executing 'odbc read ... exec' from the CLI
02:12.33jbgyeah. with the column type changed to varchar(128) it works fine
02:12.43seanbrightawesome
02:30.06*** join/#asterisk ghoti (~paul@dsl-rb-64-118-22-159.wtccommunications.ca)
03:14.56*** join/#asterisk silverwhitefish (~hidden@47.203.212.155)
03:58.13*** join/#asterisk pchero (~pchero@211.178.226.108)
05:03.14*** join/#asterisk Ner0Zer0 (~Ner0Zer0@87.253.63.54)
06:16.48*** join/#asterisk sekil (~sekil@178-222-13-110.dynamic.isp.telekom.rs)
06:37.55*** join/#asterisk TandyUK2 (~admin@TandyUK/staff/James)
06:42.24*** join/#asterisk TriJetScud (~TriJetScu@2602:fca7:1:6:5733:d000:1111:1111)
07:06.26*** join/#asterisk BakaKuna (~Thunderbi@86-89-65-191.fixed.kpn.net)
07:44.28*** join/#asterisk TriJetScud (~TriJetScu@23.172.144.5)
08:27.00*** join/#asterisk UncleKiwi (~UncleKiwi@unaffiliated/unclekiwi)
08:29.18UncleKiwigreetings phone users - im too lazy to figure out how to use pjsip just wondering if i can use sip on asterisk 18 ?
08:30.22UncleKiwiim sipping on a coffee...
08:30.45UncleKiwiawaiting your wisdom
08:33.44fileyes.
08:34.04UncleKiwiok great
08:34.11UncleKiwithank you
08:35.00UncleKiwiim considering installing v18 LTS
08:35.11UncleKiwiis that a good idea ?
08:35.31UncleKiwivs standard
08:35.35*** join/#asterisk TriJetScud (~TriJetScu@2602:fca7:1:6:5733:d000:1111:1111)
08:35.55UncleKiwior is there no v18 std
08:50.24*** join/#asterisk giesen (~ggiesen@ego.giesen.me)
09:03.13filethere is no "v18 std"
09:03.27UncleKiwicorrect
09:03.28fileeach version is either a standard release or a long term supported release, 18 is an LTS
09:03.48UncleKiwiok thanks
09:06.05UncleKiwii need some very simple config files -
09:08.55*** join/#asterisk sekil (~sekil@nat-73.net011.net)
09:16.34*** join/#asterisk TriJetScud (~TriJetScu@2602:fca7:1:6:5733:d000:1111:1111)
09:18.49jbgwhat would the syntax be in extensions.lua to obtain two columns from the result of a single func_odbc function?
09:19.03jbgthe equivalent of `Set(ARRAY(MY_VAR1,MY_VAR2)=ODBC_GET_VALUE())` but for lua
09:20.30jbgI have var1 = channel.ODBC_GET_VALUE():get() and that works fine for the first, but how to get the second column?
10:17.46*** join/#asterisk sa02irc (~mbax@155-079-043-212.ip-addr.inexio.net)
10:49.18*** join/#asterisk pchero (~pchero@211.178.226.108)
11:46.47*** join/#asterisk bford (uid283514@gateway/web/irccloud.com/x-tfjxzqpabgxqrwgr)
11:46.48*** mode/#asterisk [+o bford] by ChanServ
11:48.14*** join/#asterisk ghoti_ (~paul@45.78.100.196)
11:53.16*** join/#asterisk ghoti_ (~paul@45.78.111.28)
12:44.00*** join/#asterisk ghoti_ (~paul@45.78.102.125)
13:02.13*** join/#asterisk InterLinked (~ambassado@cpe-24-209-155-151.wi.res.rr.com)
13:12.09*** join/#asterisk sekil (~sekil@188.255.183.167)
13:18.43*** part/#asterisk sekil (~sekil@188.255.183.167)
13:27.01seanbrightjbg: the code suggests they come back comma delimited, although it's a bit hard to follow
13:37.44InterLinkedQuick question - the Asterisk wiki says to start changes in the oldest branch to which changes will apply: right now, does that mean we have to start with 16, or could we just do 18 and cherry pick to master?
13:39.00fileif the changes are applicable to 16, then 16
13:39.12filein the end as long as the change is cherry picked everywhere it should be then it's fine
13:39.56InterLinkedSo that means if the change would technically be compatible with 16, we should start with 16?
13:40.09fileyes.
13:40.17InterLinkedGot it, thanks!
13:44.36jbgseanbright: thanks, I'll try that. I had resorted to just doing two separate SQL queries :)
13:44.45*** join/#asterisk CatCow97 (~mine9@c-73-96-109-206.hsd1.or.comcast.net)
13:45.13jbgany idea how to do predial handlers with args in Lua? I am trying app.dial("PJSIP/foo", 10, "b(handlers,addheaders,1(" .. arg .. "))")
13:45.31jbgPJSIP/foo gets dialled, but the predial handler doesn't execute
13:47.06seanbrighti know if 1 person using pbx_lua
13:47.17seanbrightand that person is you
13:47.31jbghaha, you are confirming the strong feeling I had already got
13:47.42seanbrightwhich is 1 more person than has patched pbx_lua in the last... year?
13:47.43jbgwhen every google search has a single useful result, or no useful result :P
13:48.04jbgwhat is your recommended dialplan module? just the standard one?
13:48.14fileI vaguely recall another person on the forum, who said we should drop dialplan completely and focus on lua and other things
13:48.33Samotshiver
13:48.53filejbg: standard dialplan is what the vast majority of the user base uses
13:49.04jbgright, I'll port over to that then
13:49.07filesome use it standalone, some use it in combination with AGIs to do more complex things
13:49.51seanbrightjbg: what does your verbose output look like when calling app.dial?
13:49.56SamotI believe that I've seen less than six people ask about LUA in here over the years of being around.
13:50.06SamotSo it averages to like 1 person a year or so.
13:50.18jbgI didn't make the decision very consciously, just grabbed Lua since I spend most of my time writing software (albeit mostly not in Lua, but I am familiar with it) so writing the dialplan in something that looks more like a typical programming language was more familiar to me
13:50.35jbgbut I'd definitely rather that searching for something gives more than 1 result :)
13:50.56seanbrightthere is AEL2, but it's gross
13:51.06SamotYeah.
13:51.08seanbrightstick with lua or use standard dialplan
13:51.30SamotSadly, I think there are more using AEL than LUA.
13:51.58seanbrightjbg: there should be a verbose message printed that says "Executing [...]" when you call app.dial
13:52.09seanbrightwhich will tell you what it is actually trying to do
13:52.53seanbrightjbg: actually... try this
13:53.04seanbrightapp.dial("PJSIP/foo", "10,b(handlers,addheaders,1(" .. arg .. "))")
13:53.52seanbrightassuming that is valid lua syntax
13:54.19jbgah ok, I can try that
13:54.30jbgthis is the verbose:
13:54.36jbghttps://www.irccloud.com/pastebin/JEs744Kz/
13:54.51jbgso it has the predial handler there
13:55.39jbgbut there's an app.verbose() call in the handler that doesn't execute
13:55.53jbgI'm just going to port this dialplan to the standard dialplan module, it's still small so it's better to do it now
13:57.07seanbrightyou have app_stack loaded?
13:59.52jbgI do not! that's probably the issue
14:00.04jbgand would have remained an issue after porting then
14:00.14igcewielingwhy in the name of all that is good in the world are you not running app_stack?
14:00.37jbgbecause I'd never heard of it before now, and I've been loading modules as I discover that I need them
14:00.50igcewielingThere is a treatment for premature optimization.
14:00.59jbgit's not in the name of optimisation, as such...
14:01.06seanbrighti do the same thing
14:01.06jbgautoload loaded the kitchen sink and half of the pantry
14:01.28*** join/#asterisk kharwell (uid358942@gateway/web/irccloud.com/x-nfqdytxbaqylnjcb)
14:01.28*** mode/#asterisk [+o kharwell] by ChanServ
14:01.38jbgmany of those things seem to have hooks that mean I don't have to directly invoke them for parts of the module to be executing
14:01.43seanbrighti would assume there would be an error message about Gosub being missing
14:01.49jbgI'm just not comfortable with that for a whole lot of stuff that I don't want or need
14:02.10jbgI didn't see any error, but it's possible my logging config is suboptimal in some way
14:02.23jbgin general I haven't seen errors when modules have been missing, I just find out because something mysteriously doesn't work
14:02.41igcewielingjbg: You are going to spend a lot of time realizing you are missing this module or that module.
14:02.51jbgwell, my needs from asterisk are pretty small
14:03.00jbgI think this is the third module I have been missing beyond what I guessed I needed from the names
14:03.14jbgand I'm almost done with setting this thing up, so I don't think overall I'll spend much time
14:03.26jbgbut in any case I consider that time well spent
14:04.14igcewielingyou are using pjsip?
14:04.17jbgyup
14:04.38jbg(the other two were both pjsip modules :) )
14:04.57SamotYou're loading all the pjsip modules right?
14:05.01SamotBecause there are a few.
14:06.00*** join/#asterisk ghoti_ (~paul@45.78.102.24)
14:06.23jbgI'm loading all the ones that my configuration needs, as far as I can tell
14:06.43jbgI'm not loading "all the pjsip modules", because for example I don't need res_pjsip_pidf_eyebeam_body_supplement.so
14:06.47*** join/#asterisk driz (~driz@joinsg.net)
14:07.58SamotBut a good chunk, considering there's 47 or so of them
14:09.12jbgI appear to be loading 14, and the SIP side of things is working without any issues. from inspection of the list of modules I'm not loading, they're all pretty clearly things I'm not using
14:09.24jbgI fully expect to need to load additional modules if I need to use additional features
14:09.46SamotCan you show "module show like pjsip"
14:09.50seanbrightlol
14:09.50SamotI'm just curious.
14:09.53seanbrightjbg: run
14:09.58jbglol, I'm not interested in this game
14:10.02jbgyou do your config, I'll do mine
14:10.03SamotOK.
14:10.17jbgit seems mad to have loadable modules and then try to encourage everyone to load them all
14:10.18SamotSorry for trying to help make sure you had what you needed.
14:10.27jbgno apology necessary
14:10.29SamotI didn't say to load them all
14:10.38SamotBut whatever. You got your way going.
14:10.42seanbright14:04 < Samot> You're loading all the pjsip modules right?
14:10.57SamotI followed up
14:11.00seanbrightload? check
14:11.02seanbrightall? check
14:11.06SamotOK.
14:11.07jbgI'm new to asterisk, but I'm not new to SIP, I'm familiar with what almost every one of these modules is doing just from the name
14:11.19SamotI was referring to pjsip modules, not all modules. But point made.
14:11.21jbgif I need one, I'll load it
14:11.27SamotI'll just let this lay.
14:12.08igcewielingI use autoload with noloads of the modules I know I don't need.
14:31.18*** join/#asterisk sekil (~sekil@178-222-13-110.dynamic.isp.telekom.rs)
14:32.25*** part/#asterisk sekil (~sekil@178-222-13-110.dynamic.isp.telekom.rs)
14:40.43*** join/#asterisk Janos (~Janos@201.204.94.76)
14:49.41*** join/#asterisk drathir_tor (~drathir@gateway/tor-sasl/drathir)
15:13.31seanbrightwhat do people use to check on global network outages?
15:15.20igcewielingI don't.
15:15.30fileTwitter? :D
15:16.56igcewielingWhat am I going to do about an outage outside of my network?   Call them up and complain?
15:25.40SamotWell knowing that Level 3, Hurricane Electric, Microsoft, Softlayer, etc where having issues in Chicago and the west coast the other day stopped me from wondering why there were intermittent issues with calls, email and web sites not working right.
15:25.50electronic_eeli have a bunch of tier 1 providers and major datacenter providers on a list that my network monitoring system constantly pings
15:26.03SamotOr trying to figure out if there where issues inside my network or systems.
15:26.04electronic_eelso i see if there are packet losses or increased ping times
15:26.10Samothttps://www.thousandeyes.com/outages/
15:26.21Samotseanbright: That's a place you can use.
15:27.05Samothttps://outage.report/us < That's US based.
15:27.54seanbrightthanks
15:28.50electronic_eeli would prefer to run something on my own systems. because then you can see issues with your connection too
15:29.02electronic_eelsmokeping is a tool commonly used for that
15:29.26electronic_eelsee for example here how the cloud provider OVH uses it: http://smokeping.ovh.net/smokeping?target=EMEA
15:30.05Samothttps://livemap.pingdom.com/
15:30.16SamotAnd if you want all sorts of details.
15:31.11*** join/#asterisk driz (~driz@joinsg.net)
15:32.25igcewielingWe use SNMPc to monitor our devices.
15:33.05*** join/#asterisk ghoti_ (~paul@dynamic-64-118-29-118.wtccommunications.ca)
16:01.29SamotYeah but what happened the other day wasn't that things where down, certain traffic wasn't routing properly.
16:01.45SamotMy monitoring systems said 6 locations where down, but I could reach them.
16:13.34*** join/#asterisk pchero (~pchero@211.178.226.108)
16:16.08*** join/#asterisk rpifan (~rpifan@p200300d2670b9500843c9bb8c648bd8b.dip0.t-ipconnect.de)
16:28.19avbgentlemen, is there are any possible cases where an asterisk setup with ICE would cause one way audio in some cases?
16:29.02avbim getting complaints that like on 1-2% of the calls caller doesnt hear the called part
16:29.29avbwhile trunk provider claims that they do see bidirectional RTP
16:29.37igcewielingPeople use ICE other than for WebRTC?
16:30.13avbthats for a webrtc yes
16:30.51avbwebrtc softphone connects to kamailio, while they are getting media straight from the asterisk
16:30.52fileif ICE negotiation fails for some reason in the specific direction then yes, it is possible
16:31.27avbthere is a turn involved, so its only a single candidate
16:32.07filethen it sounds like you need to look at a failure case and look at everything end to end
16:32.09avbfile: i just cant figure out a usecase why that would happen in such a low amount of calls
16:32.52avbturn is bloody complicated to get the logs from :-/
16:33.30filethe WebRTC end to end media flow is complex, guessing is futile usually, only examining things and looking at stuff yields results
16:35.40avbseems I need to install homer to log webrtc traces
16:35.45avbwill be a good start :)
16:36.22igcewielingHomer is like using a nuke to kill a roach.
16:37.03avbhow would you try to catch this bad calls?
16:37.40avbthere are a lot of calls on the platform, lot of users and I by myself never can get one dead air call
16:38.19filethe wonderful world of WebRTC
16:39.53igcewielingavb: wireshark?  pcapsipdump?  tcpdump?
16:40.16igcewielingI like pcapsipdump, but it can be a bit picky
16:43.59Samotsngrep
16:46.34SamotMan, carriers are filing big time for copper line retirement
16:47.00SamotOh FYI, that's happening in the US now.
16:47.31igcewielingSamot: the "we are converting you to fiber, you have no choice" e-mails from Verizon have been going on for a while.  lol.
16:48.08SamotYeah but they have to do proper filings with the FCC.
16:48.16igcewielingIt is entirely a coincidence that fiber doesn't fall under all those pesky regulations which apply to copper.
16:48.21SamotIncluding those that need to be grandfathered for some time.
16:48.38SamotSuch as?
16:48.56SamotIt doesn't matter if I'm delivering voice over copper or fiber or coax.
16:49.07SamotI'm still delivering voice, that's what is regulated for me.
16:49.17igcewielingYou? correct?  an ILEC, not a chance.
16:50.04SamotDo you have an example of a pesky regulation that is only for copper but not fiber?
16:50.06igcewielingGenerally, copper must be resold to CLECs, where fiber or coax doesn't require that.
16:50.40SamotOh you mean by ATT going to all fiber, the dont have to share with the CLECs?
16:50.50SamotSo screw the CLECs?
16:51.01SamotGo run your own fiber?
16:51.06igcewielingSamot: pretty much.
16:51.16SamotSo they don't want the money then.
16:51.17SamotOK.
16:51.41igcewielingThey would not resell copper if they were not required to.
16:51.55SamotThey have to resell copper because of the 90's ruling.
16:52.02SamotBefore FIBER was a major thing.
16:52.11SamotIt was about access to the infrastructure.
16:53.15SamotSo I'm going to guess that this was covered. I should review the reports/rulings over at the FCC to double check but I doubt this would be happening without some major push back if what you claim is true.
16:53.27SamotJust a few billion in money that would just be lost to ILECs.
16:55.26igcewielingIf a monopoly is replacing copper with fiber, then I feel similar regulations should apply.    Otherwise it is just a way to get out from under copper requirements.
16:55.36SamotMonoply.
16:55.38SamotWow.
16:55.40SamotOK.
16:55.48igcewielingan ILEC is not a monopoly?
16:56.28SamotI guess it can be.
16:56.37SamotIn a very regional manner.
16:57.00igcewielingThe same can be applied to the power company or water service.
16:57.10SamotYou mean, utilities.
16:57.16SamotHighly regulated utilities.
16:57.24SamotThe one thing Comcast keeps fighting against.
16:57.25igcewielingyes, same as phone lines.
16:57.40SamotThey do not want to be considered a utility.
16:57.49SamotBecause TV is not a utility.
16:58.01SamotThey don't want Internet to be considered a utility.
16:58.38SamotBut Telecom, Electric, Gas, Water these are all public utilities.
16:59.07SamotAnd the biggest, oldest of those players being around *before* government was in control of things and areas.
16:59.23SamotThere was no federal government in territories
17:00.08SamotThe US wasn't even 48 states until after the 1900's
17:00.18SamotOr 50 until the mid 1900's.
17:00.47igcewielingI am talking about telecom
17:00.52SamotSo am I
17:01.13SamotIf there was phone service in Nevada before Nevada was a state is was because a private telecom went there a built it.
17:01.30SamotAnd since Telecom has always been local -> state -> federal that's how it was always handled.
17:01.51SamotA local telecom (ILEC) was for a specific area.
17:02.09SamotCould be an entire county, one city or 2 counties.
17:03.12SamotThen companies like ATT where in the business of making Hounddog, Arkansas be able to connect calls to NY City.
17:05.09SamotThe first 82 NPAs weren't even established until the 1940's which was about 10-20 years in telecom being around.
17:05.30Samotprobably close to 20
17:09.22SamotOne of the ILEC issues that has been a result of the CLEC rulings is they cant just charge a CLEC whay they want.
17:10.48*** join/#asterisk clarjon1 (~clarjon1@unaffiliated/clarjon1)
17:11.46SamotI mean we were paying ATT and Verizon a butt load of money every month. Between circuits, cross connects and colocation
17:13.09SamotSo Im not sure I see them giving up multi-million dollar customers
17:32.24avbigcewieling: yeh, i just got 10gig dump :)
17:32.28avblets see
17:32.46avbhopefully it will have something
17:33.22igcewielingavb: pcapsipdump splits the calls into individual files.
17:36.23avbim more concerned about ICE
17:36.44avbill try pcapsipdum on the asterisk servers too
17:44.59*** join/#asterisk tripleslash (~triplesla@unaffiliated/imsaguy)
17:50.36*** join/#asterisk InterLinked (~ambassado@cpe-24-209-155-151.wi.res.rr.com)
17:53.44InterLinkedI’ve been thinking about adding a custom notch filter to Asterisk somehow to filter out / attenuate specific frequencies (e.g. 2600 Hz). It seems like the most efficient way to do this would be using Goertzel, just like the DTMF and MF filters in dsp.c do. goertzel_init seems to be promising.
17:53.51InterLinkedI’m not sure what the best way would be to have this set with a function - I’m thinking similar to how you can do Set(VOLUME(TX)=-5) or Set(MUTEAUDIO(in)=on), something like SET(NOTCH_FILTER(2600)=on) or SET(NOTCH_FILTER(2600)=4) (to control the attenuation).
17:53.54InterLinkedWhen I look at examples of new DSPs being created though, it’s all in the context of applications which are blocking, such as creating a new DSP for silence detection and then releasing it. I’d want this to be active for the duration of the call. I’m wondering if anyone has thoughts on the optimal way this might be architected. Thanks!
18:02.37seanbrighti mean, VOLUME() seems to be the way to go, no?
18:02.44seanbrightin terms of examples, that is
18:03.07igcewielingMaybe look at func AGC, which requires speex
18:03.20InterLinkedVOLUME() doesn't use DSP though, does it?
18:07.02*** join/#asterisk InterLinked (~ambassado@cpe-24-209-155-151.wi.res.rr.com)
18:07.28InterLinkedSorry, I got kicked out for the past 2 minutes
18:20.14seanbrightno, i think VOLUME() uses audiohooks (maybe?)
18:20.44seanbrightbut it is an example of a function that manipluates media passively
18:24.28igcewielingMaybe look at func AGC, which requires speex
18:24.39InterLinkedIt looks like AGC also uses audiohooks, would an audiohook be the preferred way to do it?
18:31.53seanbrightif the goal is to isolate a tone, probably not
18:31.59seanbrightare DSPs not async?
18:33.15seanbrightwait... if the goal is to manipulate the audio, you need to use audiohooks
18:53.48InterLinkedThe examples I've seen with dsp don't appear to be async, that's why I was wondering. I can find them used in applications (like WaitForSilence) but not functions.
18:58.28InterLinkedThat makes sense to me though - using audiohooks. If I understand this right, I need to write a callback function that's used to process every frame, and then perhaps I could make use of the Goertzel algorithm in the DSP library?
18:59.32seanbrightsure. why not.
19:20.54*** join/#asterisk waldo323 (~waldo323@d149-67-45-83.clv.wideopenwest.com)
19:32.56*** join/#asterisk sa02irc (~mbax@155-079-043-212.ip-addr.inexio.net)
19:36.05*** join/#asterisk sa02irc (~mbax@155-079-043-212.ip-addr.inexio.net)
19:36.19seanbrightre: outages: https://puck.nether.net/pipermail/outages/2021-May/thread.html
19:56.09*** join/#asterisk rpifan (~rpifan@p200300d2670b950014e21655a334993b.dip0.t-ipconnect.de)
20:09.38*** join/#asterisk tuxd00d (sid401305@gateway/web/irccloud.com/x-aqcosrnougqldbse)
20:10.21*** join/#asterisk bengoa (~alberto@194.50.55.200)
20:14.25*** join/#asterisk tsal (~tsal@i59F52625.versanet.de)
20:44.47*** join/#asterisk ldm (~ldm@hacksoc/member)
21:34.06*** join/#asterisk sekil (~sekil@178-222-13-110.dynamic.isp.telekom.rs)
22:51.31*** join/#asterisk ttys000 (~ttys000@50.92.213.208)
22:54.58*** join/#asterisk jkroon (~jkroon@165.16.203.106)

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