00:10.09 | *** join/#asterisk dar123 (~dar@2600:1700:38d0:1470:1ae:fea1:4845:577a) |
00:17.30 | *** join/#asterisk Oatmeal (Suzeanne@gateway/vpn/privateinternetaccess/suzeanne) |
00:27.49 | *** join/#asterisk scgm11_ (~scgm11@2800:a4:1753:6d00:28d2:f1f5:87e5:a65f) |
00:34.10 | *** join/#asterisk Forbidd3n (~forbidd3n@2601:6c1:c100:891a:b44d:407a:1c1:a0e5) |
00:36.27 | Forbidd3n | Hi Samot: All I need to do is ask the user for their credit card number, call sip (PBX) to collect the DTMF tones, store with AGI script and then go back to twilio. I don't think a bridge will work, because that means twilio will store the DMTF tones as well. This is what I need to avoid |
00:37.05 | Forbidd3n | Samot: I am reading the `book` that you suggested and [TK]D-Fender is enforcing. :) |
00:37.53 | Forbidd3n | The questions will be asked on my IVR end with Twilio Twiml |
00:38.37 | Forbidd3n | The only thing the PBX will do is capture DTMF tones, store in session file so I can request it when I am ready to process the payment |
00:38.43 | *** join/#asterisk kunwon1 (~kunwon1@unaffiliated/kunwon1) |
00:48.57 | Forbidd3n | Samot: When you are around again. ^ |
00:54.04 | *** join/#asterisk dar123 (~dar@2600:1700:38d0:1470:1ae:fea1:4845:577a) |
00:57.58 | *** join/#asterisk justdave (~dave@unaffiliated/justdave) |
01:01.24 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
01:05.56 | *** join/#asterisk miralin (~Thunderbi@194.8.128.64) |
01:23.36 | *** join/#asterisk dar123 (~dar@2600:1700:38d0:1470:1ae:fea1:4845:577a) |
02:00.57 | *** join/#asterisk cemotyz09 (~cemotyz09@cpe-70-121-157-202.satx.res.rr.com) |
02:02.38 | Samot | And? |
02:03.01 | *** join/#asterisk cemotyz09 (~cemotyz09@cpe-70-121-157-202.satx.res.rr.com) |
02:10.30 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
02:11.18 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
02:12.06 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
02:13.06 | *** join/#asterisk startledmarmot (~startledm@cpe-75-82-221-87.socal.res.rr.com) |
02:36.15 | *** join/#asterisk Catatronic (~corrupt@unaffiliated/catatronic) |
02:50.59 | *** join/#asterisk jamesaxl (~James_Axl@109.172.62.242) |
03:00.16 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
03:01.53 | *** join/#asterisk boris_t (~boris_t@109.248.217.2) |
03:32.30 | *** join/#asterisk sibyakin (~sibyakin@83.234.69.145) |
03:42.07 | *** join/#asterisk startledmarmot (~startledm@cpe-75-82-221-87.socal.res.rr.com) |
03:43.47 | Forbidd3n | Samot: you around? Sorry I missed you last time you wrote |
03:44.36 | Samot | Doesn't change. |
03:44.38 | Samot | And? |
03:45.06 | Forbidd3n | Not sure what you are referring to for 'And?' |
03:45.24 | Samot | How does Twilio store the DTMF tones? |
03:45.46 | Samot | You realize in order for those tones to get to the Asterisk box they have to go through Twilio, right? |
03:45.58 | Samot | They are the carrier of the call. |
03:46.04 | Forbidd3n | They log all the calls and the response digits on their local servers, but it isn't encrypted therefore not PCI compliant |
03:46.29 | Samot | So does Asterisk. |
03:46.45 | Samot | So is your Asterisk stuff encrypted? |
03:46.46 | Forbidd3n | Well, I thought if I sip the call to the PBX box that means the PBX captures the DTFM tones and Twilio doesn't know anything about them |
03:46.51 | Samot | No. |
03:46.56 | Samot | Twilio is the CARRIER |
03:47.02 | Samot | How do you think your call is on the PSTN? |
03:47.11 | Forbidd3n | But you stated when I do the sip then the call no longer is on Twilio |
03:47.18 | Samot | No... |
03:47.29 | Samot | The call is no longer on their PBX systems. |
03:47.35 | Samot | It's still routing through them via the PSTN |
03:47.56 | Samot | It doesn't matter if the trunk is straight to your PBX and you do the entire call there. |
03:48.05 | Forbidd3n | So I wonder how other companies state that they are PCI compliant and they bridge the call with Twilio |
03:48.05 | Samot | DTMF is sent through your provider. |
03:48.32 | Forbidd3n | Samot: correct it is sent through the provider, but not stored anywhere. At least I thought |
03:50.47 | Forbidd3n | Samot: but they are just tones, and I don't believe Twilio hears them. |
03:50.48 | Samot | OK.. |
03:51.01 | Forbidd3n | or at least recognizes them |
03:51.09 | Samot | Not unless they are the media endpoint that is processing them. |
03:51.11 | Samot | Like Asterisk. |
03:51.31 | Forbidd3n | Can you explain what you mean by that? |
03:51.51 | Samot | In order for Asterisk to know what the DTMF tone is, it has to read it. |
03:51.55 | Samot | Process it. |
03:51.59 | Samot | It logs that crap |
03:52.17 | Forbidd3n | Correct. I want to capture it in Asterisk and log in in a file. |
03:52.24 | Samot | OK |
03:52.50 | Forbidd3n | ...but your saying, or at least I think you are saying, that either way Twilio will capture it as well. |
03:53.09 | Samot | I don't know if they do or not |
03:53.17 | Samot | I'm saying the DTMF tones are still passing through them. |
03:55.42 | Forbidd3n | Samot: here is info on it #3 - https://support.twilio.com/hc/en-us/articles/223136487-Keeping-Twilio-application-workflows-PCI-compliant |
03:57.04 | Forbidd3n | #4 states that if using Twilio as a payment processor, they use a third-party. I wonder how they would do it on their end |
03:57.07 | *** join/#asterisk qxork (~qxork@unaffiliated/qxork) |
03:59.09 | Samot | https://support.twilio.com/hc/en-us/articles/223136367-Prevent-Twilio-from-logging-TwiML-for-data-compliance |
03:59.16 | Samot | Did you not read the related articles? |
04:01.08 | Forbidd3n | Yeah, but the question still makes me wonder if they, at any point, store any logs at all on their end from the user's DTMF responses |
04:03.53 | Forbidd3n | Samot: see the answer to this stack - https://stackoverflow.com/questions/20177302/pci-compliant-voice-api-services-like-twilio |
04:04.18 | Samot | You're planning on using TLS for this right? |
04:04.52 | Forbidd3n | ...and there are others that say transferring the call to private PBX or 3rd-party, capture DTMF tones and then transfer back makes it PCI compliant |
04:04.54 | Forbidd3n | Correct |
04:05.14 | Forbidd3n | currently Twilio posts to https on our end |
04:05.26 | Samot | You're not making a TLS call. |
04:05.30 | Samot | Not to Asterisk. |
04:05.40 | Samot | You're making a plain ole SIP call. |
04:05.52 | Forbidd3n | Forwarding the call to asterisk will leave Twilio's system, correct? |
04:05.57 | Samot | Right |
04:06.04 | Samot | But the call still needs to be PCI complient. |
04:06.07 | Samot | But the call still needs to be PCI compliant. |
04:06.15 | Samot | So that leg still needs to be "secured" |
04:06.18 | Forbidd3n | Just 2 questions of the IVR |
04:06.24 | Samot | Since you're doing it over VoIP, it needs to be TLS |
04:06.32 | Forbidd3n | or shall I say the answers to those 2 questions |
04:07.05 | Forbidd3n | So I don't need to use sip? |
04:07.15 | Samot | Sigh |
04:07.19 | Samot | Yes you do. |
04:07.25 | Samot | You need to use SIP with TLS |
04:07.28 | Samot | The PCI rules for VOIP are the same as mentioned above for DTMF. When collecting DTMF via VOIP, the signaling and media transmission must both occur over secured networks (TLS/IPSec and SRTP). |
04:07.35 | Samot | ^^^ IT's right there in that link you posted. |
04:08.28 | Samot | What are the PCI compliance you are trying to meet right? |
04:08.57 | Samot | Because now, if Asterisk is collecting credit card or other details via an IVR |
04:09.03 | Forbidd3n | Credit Card # and CVV2 for IVR payments |
04:09.04 | Samot | And you're storing that in file on the server... |
04:09.11 | Samot | So you can send it out.. |
04:09.15 | Samot | That all needs to be secured. |
04:09.15 | Forbidd3n | encrypted file on the server |
04:09.26 | Samot | How is it encrypted? |
04:09.49 | Forbidd3n | I am encrypting it with PHP encryption methods |
04:11.00 | Samot | And then you send it to your CC processor? |
04:11.00 | Forbidd3n | PHP openssl_encrypt and openssl_decrypt |
04:11.36 | Forbidd3n | Well I store it on the PBX server in a file name of the users session id passed in the header |
04:11.51 | Samot | OK |
04:11.57 | Samot | And how does it get to the CC processor? |
04:12.17 | Forbidd3n | then I have a handshake application that will request the data when I am ready to process the payment on the call |
04:12.33 | Samot | So now you need to secure the entire PBX |
04:12.39 | Samot | Because it now is storing CC data. |
04:13.02 | Samot | So the SIP leg between Twilio and Asterisk needs to be SIP over TLS |
04:13.10 | Forbidd3n | the PBX server is locked down. The only way to get to it is internal IP through VPN connection |
04:13.32 | Samot | So Twilio is sending this call over a VPN? |
04:13.51 | Forbidd3n | the firewall is only open to the 4 ip addresses from twilio and our web server for the public IP |
04:13.53 | Samot | Kinda looked like an open call on the public Internet to me. |
04:14.39 | Forbidd3n | It is over public IP, but only for specific IP addresses for incoming |
04:16.46 | Samot | Well you need to check your ASterisk logging and make sure it's not logging DTMF |
04:17.08 | Samot | Otherwise someone will see a log that says Playing "enter-cc-info" |
04:17.14 | Forbidd3n | I believe I have a bookmark that allows you to turn off logging in asterisk |
04:17.17 | Samot | Followed by the 16 DTMF enteries. |
04:18.26 | Forbidd3n | I won't be playing wav files on the PBX the question will be asked on my Twilio IVR, and then sipped over to PBX just for capturing DTMF tones |
04:22.52 | Forbidd3n | Samot: Earlier, I believe someone said that incoming requests don't need to be challenged, I believe adding this then I will be adding an additional layer of security |
04:23.11 | Samot | How can you challenge it? |
04:23.16 | Samot | That's not how it works. |
04:23.25 | Forbidd3n | I am looking at this doc on Twilio -- https://www.twilio.com/docs/api/voice/sip-security |
04:24.00 | Forbidd3n | I already do item one and I believe I have incoming (termination on Twilio) is authenticated |
04:24.32 | Forbidd3n | Samot: Still learning this |
04:25.19 | Samot | This is not something a newbie should be doing. |
04:25.29 | Samot | You need to understand SIP and how to secure SIP |
04:25.40 | Samot | Basic tenants before even getting to how to do it with Asterisk |
04:28.09 | Forbidd3n | Samot: I am well-versed on TLS and I consider myself a great developer. I have been in the industry for almost 20 years. I think I have the skillset with some reading and experimenting I can achieve this task |
04:28.30 | Samot | OK |
04:28.36 | Samot | Developer of? |
04:28.38 | Samot | SIP? |
04:28.56 | Samot | You need to understand how SIP works |
04:29.03 | Samot | So you can develop in it. |
04:29.15 | Forbidd3n | No, PHP, C#, Python, CGI and Java and Swift. |
04:29.18 | Forbidd3n | I agree 100% |
04:29.40 | Forbidd3n | Which is why I am reading the book recommended earlier to get a good understanding on Asterisk |
04:29.43 | Samot | There are things like, you can't use wildcard TLS on SIP |
04:29.48 | Samot | That's Asterisk. |
04:29.50 | Samot | That's not SIP |
04:31.06 | Forbidd3n | Agree, I am learning Asterisk to learn how to capture the data from the user. I also need to learn how to connect to the PBX server securely, SIP |
04:36.58 | *** join/#asterisk gerhard7 (~gerhard7@ip5657ee30.direct-adsl.nl) |
04:41.09 | Forbidd3n | Samot: so to keep it the most secure way would be to forward the call to the SIP server with TLS, capture the DTMF response from the caller and then when they hit pound forward the call back to Twilio |
04:42.44 | Samot | If even needed. |
04:42.51 | Samot | Do you need to send them back to Twilio for something? |
04:42.56 | Samot | Or is the call over at that point? |
04:44.10 | Forbidd3n | I need to send them back to Twilio number and push them to where they left off in the call to finish the other IVR items and then request the PCI data and process the payment through our .Net service like our web portal does |
04:48.20 | Forbidd3n | Samot: ^ |
04:48.36 | Samot | K |
04:48.58 | Forbidd3n | in your opinion, what do you think of my workflow above? |
04:49.03 | Samot | All I was saying was that if the call was over at that point, there was no need to send it back to Twilio. |
04:49.04 | Samot | That's it. |
04:49.10 | Samot | I guess it's fine. |
04:49.16 | Samot | Based on what you've said. |
04:50.14 | Forbidd3n | Ok. I just have to accomplish the task. Do you think forwarding or bridging? I think bridging keeps the call open with Twilio on the line |
04:50.36 | Forbidd3n | Which allows them to still recognize the DTMF |
04:50.41 | Forbidd3n | imo |
04:52.18 | Forbidd3n | So I think forwarding the call back and forth is the best way. |
04:56.15 | Forbidd3n | Samot: your thoughts? |
04:56.51 | Samot | Either works. |
04:56.55 | Samot | It's going to be up to you. |
04:57.09 | Forbidd3n | Bridging seems to keep Twilio on the line though |
04:57.22 | Samot | I don't know. |
04:57.26 | Samot | I haven't done this. |
04:57.52 | Forbidd3n | That is what a bridge does I believe. It is basically like a conference call. |
04:58.39 | *** join/#asterisk kunwon1 (~kunwon1@unaffiliated/kunwon1) |
05:00.45 | Forbidd3n | The SIP call in Twilio is a forwarding call to the PBX server, correct |
05:01.06 | Forbidd3n | I am asking if you know |
05:03.03 | Forbidd3n | Samot: Thank you for taking the time to discuss this with me. I am very appreciative. |
05:06.18 | *** join/#asterisk kunwon1 (~kunwon1@unaffiliated/kunwon1) |
05:08.44 | *** join/#asterisk paulgrmn (~paulgrmn@198-0-107-153-static.hfc.comcastbusiness.net) |
05:09.25 | Forbidd3n | Samot: Does Asterisk Chan_SIP allow for TLS? |
05:15.32 | *** join/#asterisk dar123 (~dar@2600:1700:38d0:1470:1ae:fea1:4845:577a) |
05:22.33 | *** join/#asterisk gerhard7 (~gerhard7@86.87.238.48) |
05:29.03 | *** join/#asterisk boris_t (~boris_t@109.248.217.2) |
05:45.38 | *** join/#asterisk boris_t (~boris_t@109.248.217.2) |
05:50.22 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
05:56.37 | *** join/#asterisk Oooohboy (~Oooohboy@2605:6000:1711:c1ff:2506:6484:2db:7eb1) |
06:15.30 | *** join/#asterisk shootbird (~quassel@beepbeep.serverpit.com) |
06:40.31 | *** join/#asterisk Cory (~Cory@unaffiliated/cory) |
06:56.08 | *** join/#asterisk CatCow87 (~mine9@c-24-22-38-85.hsd1.or.comcast.net) |
07:27.41 | *** join/#asterisk wearyhacker (~wearyhack@4.13.169.217.in-addr.arpa) |
07:32.05 | *** join/#asterisk jkroon (~jkroon@uls-154-73-35-201.wall.uls.co.za) |
07:33.45 | wearyhacker | Pjsip, Cisco 7960, force_rport, Asterisk 13. To get registration to work I have to set force_rport to no. If I do this the phone stops responding to options requests(polls), as these are still sent to the random UDP source port from the original status request. Is there any way round this? |
07:36.17 | *** join/#asterisk evilman_work (~evilman@87.244.6.228) |
07:46.40 | *** join/#asterisk hehol (~hehol@gatekeeper.loca.net) |
08:00.06 | *** join/#asterisk tzafrir (~tzafrir@local.xorcom.com) |
08:02.15 | *** join/#asterisk DanB (~DanB@clt-195.192.205.203.ip-anschluss.net) |
08:14.22 | *** join/#asterisk evil_gordita (robert@ip70-188-41-127.rn.hr.cox.net) |
08:32.06 | *** join/#asterisk gregs (sid160074@gateway/web/irccloud.com/x-nlsedjtrtmfzgqyk) |
08:34.48 | *** join/#asterisk miralin (~Thunderbi@194.8.128.64) |
08:58.12 | *** join/#asterisk eharris (~eharris@unaffiliated/eharris) |
09:31.10 | *** join/#asterisk sekil (~sekil@nat-73.net011.net) |
09:49.34 | *** join/#asterisk mayube (~dren@83.219.57.194) |
09:56.23 | *** join/#asterisk pawiecki (~pawiecki@router.dir.pl) |
10:07.56 | *** join/#asterisk ih8wndz (jwpierce3@server.maximusabacus.com) |
10:16.51 | *** part/#asterisk mayube (~dren@83.219.57.194) |
10:27.53 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
10:51.52 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
11:05.53 | *** join/#asterisk lankanmon (~LKNnet@CPE64777d632383-CM64777d632380.cpe.net.cable.rogers.com) |
11:26.42 | *** join/#asterisk thiagoc (~thiagoc@unaffiliated/thiagoc) |
11:54.32 | *** join/#asterisk J0hnSteel (~J0hnSteel@62.162.164.77) |
11:56.57 | sibiria | anyone got any experience with the "extenpatternmatchnew" setting? |
11:57.12 | sibiria | is it still considered for the "brave, the bold, and the desperate", or is it stable? |
11:58.22 | file | it may or may not work for your dialplan. |
11:58.40 | sibiria | i'm not brave nor bold enough. thanks for the info |
11:59.27 | sibiria | on a different note, the auto fall-through behavior, will it always jump to the 'h' extension? |
11:59.54 | file | 'h' in the current context is almost always executed |
11:59.54 | sibiria | there's no odd case where it, when enabled, might want to jump elsewhere? |
12:00.29 | file | https://wiki.asterisk.org/wiki/display/AST/Hangup+Handlers can be easier though, since they follow the channel and get executed no matter where it goes |
12:08.30 | sibiria | thanks |
12:15.08 | *** join/#asterisk sibyakin (~sibyakin@83.234.69.145) |
12:24.17 | *** join/#asterisk jkroon (~jkroon@uls-154-73-35-201.wall.uls.co.za) |
12:27.49 | *** join/#asterisk J0hnSteel (~J0hnSteel@62.162.164.77) |
13:03.07 | *** join/#asterisk scgm11_ (~scgm11@r186-50-44-101.dialup.adsl.anteldata.net.uy) |
13:06.35 | *** join/#asterisk sekil (~sekil@nat-73.net011.net) |
13:09.20 | *** join/#asterisk Forbidd3n (~forbidd3n@2601:6c1:c100:891a:466:85a:b857:8539) |
13:09.59 | *** join/#asterisk gerhard7 (~gerhard7@ip5657ee30.direct-adsl.nl) |
13:13.37 | *** join/#asterisk sekil (~sekil@nat-73.net011.net) |
13:16.42 | *** join/#asterisk qxork (~qxork@unaffiliated/qxork) |
13:21.43 | *** join/#asterisk [TK]D-Fender (~joe@216.191.106.165) |
13:25.36 | Forbidd3n | [TK]D-Fender: Just a quick question, When a call is sipped over to a PBX box, that means the originating ISDN is no longer connected on the call, just the PBX box that the call wsa sipped to, correct? |
13:26.01 | [TK]D-Fender | Your description is just plain broken |
13:26.22 | Forbidd3n | :/ |
13:26.43 | Forbidd3n | I am sure I am using the wrong terminology |
13:27.05 | [TK]D-Fender | a call isn't "sipped to", ISDN doesn't just "disappear", that's a PHYSICAL WIRE WITH SIGNALLING. |
13:27.21 | [TK]D-Fender | How does SIP make something physical suddenly not needed? |
13:27.31 | [TK]D-Fender | Where was this call to begin with? |
13:28.33 | Forbidd3n | In my scenario, the caller calls into my Twilio number, at some point in the call I construct a sip connection to our PBX server. Is Twilio still on the call? |
13:30.03 | Forbidd3n | Based on what I have been reading it isn't. I would have to initiate the call back to Twilio from the PBX server, correct? |
13:34.09 | Forbidd3n | [TK]D-Fender: ^ |
13:36.31 | file | Twilio is still on the call, you'd probably have to initiate a call back - there is no defined mechanism to "send the original call back" |
13:37.12 | file | unless Twilio has some preferred mechanism for the scenario, but that's up to them |
13:40.29 | Forbidd3n | Thanks file. |
13:41.38 | [TK]D-Fender | How does TWILIO get the acll? |
13:41.42 | [TK]D-Fender | What is on that other end? |
13:45.20 | *** join/#asterisk EnrgySmth (d8eba101@gateway/web/freenode/ip.216.235.161.1) |
13:45.39 | *** join/#asterisk Sepultura (~Sepultura@unaffiliated/sepultura) |
13:58.07 | *** join/#asterisk kharwell (kharwell@nat/digium/x-njaxqmvqoddrnlpz) |
13:58.07 | *** mode/#asterisk [+o kharwell] by ChanServ |
14:02.20 | Samot | Twilio is your ITSP/Carrier |
14:02.27 | Samot | Your DIDs are with Twilio. |
14:02.31 | Samot | We've covered this |
14:02.42 | Samot | I'm really getting sick of having to explain the same things over and over. |
14:02.45 | Samot | At this level. |
14:11.59 | *** join/#asterisk saint_ (~saint_@unaffiliated/saint-/x-0540772) |
14:14.38 | Forbidd3n | Samot: sorry about asking over and over, but asking in here, getting a response and then seeing different things on line construes my thought process. Again, I apologize. |
14:25.45 | *** join/#asterisk shootbird (~quassel@beepbeep.serverpit.com) |
14:32.54 | *** join/#asterisk cresl1n (Adium@asterisk/libpri-and-libss7-expert/Cresl1n) |
14:32.54 | *** mode/#asterisk [+o cresl1n] by ChanServ |
14:33.05 | pawiecki | I have dtmf set to rfc2833 on Yealink phones. My * box is by default on rfc2833 too. I need to change it to inband, because outgoing calls are routed through an Avaya box, and it's admin requested it. Do I need to change it to inband on both: * and Yealink phones? |
14:34.38 | file | they are independent, if one side is inband and the other isn't then it'll be converted |
14:38.51 | pawiecki | file: ok, thanks |
14:43.24 | pawiecki | Those outgoing calls go to Avaya via h323, and I don't see inband dtmf option in this sample file: https://github.com/asterisk/asterisk/blob/master/configs/samples/ooh323.conf.sample |
14:43.37 | pawiecki | Do you know if it's supported? |
14:45.19 | *** join/#asterisk bford (uid283514@gateway/web/irccloud.com/x-dpetzotpwwfmtgmr) |
14:45.19 | *** mode/#asterisk [+o bford] by ChanServ |
14:48.31 | *** join/#asterisk rmudgett (rmudgett@nat/digium/x-chdyopxhzatlemoo) |
14:48.31 | *** mode/#asterisk [+o rmudgett] by ChanServ |
15:08.15 | igcewieling | pawiecki: I've not seen an H323 question on this channel in years. Good luck. |
15:13.02 | pawiecki | After changing and testing - it works. |
15:33.54 | *** join/#asterisk scgm11_ (~scgm11@r186-50-44-101.dialup.adsl.anteldata.net.uy) |
15:37.27 | *** join/#asterisk hfb (~hfb@47.139.19.16) |
15:42.57 | *** join/#asterisk eschmidbauer (~eschmidba@unaffiliated/eschmidbauer) |
15:43.06 | eschmidbauer | is it possible to integrate skype with asterisk? |
15:43.37 | [TK]D-Fender | Skype For Business (which is SIP based) yes |
15:54.32 | *** join/#asterisk startledmarmot (~startledm@cpe-75-82-221-87.socal.res.rr.com) |
16:07.15 | *** join/#asterisk Worldexe (~Worldexe@95-107-33-134.dsl.orel.ru) |
16:08.25 | ack-nack | What |
16:08.53 | ack-nack | What's a reliable way to parse an XML formatted string returned by CURL in the dialplan? |
16:10.40 | *** join/#asterisk scgm11_ (~scgm11@r186-52-134-240.dialup.adsl.anteldata.net.uy) |
16:11.00 | ack-nack | Is regex the only choice? |
16:14.15 | *** join/#asterisk pppingme (~pppingme@unaffiliated/pppingme) |
16:15.45 | [TK]D-Fender | Only sane choice in dialplan anyway |
16:19.23 | Forbidd3n | I do not hear playback sound using a simple hello-world example. I do sip show channels while in the call and it says it is using ulaw, and it says it is playing ulaw but no sound. I have port range 10000-20000 set up and still no luck. Anything I might be missing? |
16:20.23 | [TK]D-Fender | You're not looking at both ends, you're not testing with some other outside device, and we're not looking at even the original call in question |
16:20.37 | [TK]D-Fender | In short... pretty much everything |
16:21.22 | Forbidd3n | [TK]D-Fender: I sense the feeling you strongly dislike me. : / |
16:21.53 | [TK]D-Fender | You're asking what you might have done wrong and you haven't learned to SHOW US THE DAMN EVIDENCE. |
16:22.18 | [TK]D-Fender | Don't ask what's wrong with your car before the mechanic has been given a car to EXAMINE |
16:23.59 | Forbidd3n | [TK]D-Fender: does this help? - https://pastebin.com/zhYyB0qr |
16:27.09 | *** join/#asterisk jamesaxl (~James_Axl@109.172.62.242) |
16:27.19 | [TK]D-Fender | Obviously not |
16:27.24 | [TK]D-Fender | There's no SIP debug to prove anything |
16:28.19 | Forbidd3n | Ok, I will give a full CLI, I figured the portion where the playback was and me showing the sip channels would be enough |
16:28.26 | [TK]D-Fender | And showing fromt he middle of the call after audio should already have been established is like watching security cam footage ... AFTER the crime once the criminal has already left |
16:28.30 | Samot | Wait. |
16:28.34 | Samot | Make the call |
16:28.44 | Forbidd3n | ? |
16:28.46 | Samot | But this time run: rtp set debug on |
16:28.55 | Samot | Let's see where the RTP is going to |
16:29.07 | Samot | Or if there is any RTP going out |
16:30.52 | Forbidd3n | Samot: https://pastebin.com/M1fiKhyX |
16:31.34 | Samot | OK.. |
16:31.48 | Samot | 34.203.251.134:10764 <-- Being sent without issue to that IP and port. |
16:31.55 | Samot | Now. |
16:32.01 | Samot | I'm going to say it again |
16:32.19 | Samot | I call your Twilio DID, the call lands in Twilio's voice system. |
16:32.30 | Samot | Your IVR is built there, the call flow is handled there.. |
16:32.56 | Samot | At some point in that call flow, you are essentially picking up a new line from their system and dialing to the ASterisk box. |
16:33.11 | Samot | So now you have Call A on the Twilio system sitting there... |
16:33.22 | Samot | And Call B from the Twilio system to Asterisk sitting there.. |
16:33.40 | Samot | ARE they TWO separate calls two Twilio? |
16:33.56 | Samot | Does Twilio's SDK think to bridge those two calls together? |
16:34.25 | Forbidd3n | When you put it that way, yes. So the response is going back to Call B, not Call A which is where I am waiting to hear the sound |
16:34.32 | Samot | Right |
16:34.40 | Samot | As I said a couple times already |
16:34.48 | Samot | You need to bridge Call A and Call B together |
16:34.55 | Samot | That's a Twilio thing. |
16:35.01 | Samot | Since it's on their platform, their SDK |
16:35.31 | Forbidd3n | OK, I see they have conferencing SDK method, would this be the same as bridging? |
16:35.56 | Samot | Well a conference is a bridge that accepts more than 2 channels. |
16:36.03 | Samot | So yeah, you might have to do that |
16:36.14 | Samot | Or hit the Twilio forums to see if anyone else has done this |
16:36.17 | Samot | And what they have to say |
16:36.27 | Samot | This part is a Twilio specific thing. |
16:36.43 | Forbidd3n | I understand your explanation a lot better the way you just put it versus yesterday |
16:36.56 | *** join/#asterisk pppingme (~pppingme@unaffiliated/pppingme) |
16:36.58 | *** join/#asterisk dar123 (~dar@2600:1700:38d0:1470:1ae:fea1:4845:577a) |
16:37.09 | *** join/#asterisk jkroon (~jkroon@165.16.204.172) |
16:41.26 | *** join/#asterisk dar123 (~dar@2600:1700:38d0:1470:1ae:fea1:4845:577a) |
17:15.50 | *** join/#asterisk thiagoc (~thiagoc@unaffiliated/thiagoc) |
17:23.35 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
17:32.38 | ack-nack | Strange: Asterisk is saying: WARNING[2551][C-0000b802]: func_strings.c:977 regex: Malformed input REGEX(): Unmatched [ or [^ |
17:32.44 | ack-nack | To my regex function, which is: |
17:32.55 | ack-nack | same => n,Set(RATECTR=${REGEX("x\[\[(.+?)\[\[x" ${RATECTR})}) |
17:33.45 | ack-nack | basically, find the string between x[[ and [[x |
17:34.10 | ack-nack | Asterisk looks like it's trying to find a match for [ |
17:34.18 | ack-nack | yet it's properly escaped |
17:34.54 | ack-nack | Do I have to double-escape something? |
17:35.45 | ack-nack | works at regex101.com |
17:40.32 | igcewieling | try removing the qotes |
17:41.12 | *** join/#asterisk cemotyz09 (~cemotyz09@cpe-70-121-157-202.satx.res.rr.com) |
17:41.30 | ack-nack | Isn't that part of the function's fundamental syntax? |
17:41.35 | [TK]D-Fender | it is |
17:41.53 | ack-nack | [Syntax] |
17:41.53 | ack-nack | REGEX("regular expression" string) |
17:42.19 | igcewieling | for MOST things in the asterisk dialplan quotes cause problems, but I just checked and with REGEX the quotes are required. |
17:42.34 | ack-nack | Trying a trick found at voip-info |
17:42.37 | igcewieling | in that case, double-escape and see. |
17:43.02 | Forbidd3n | I am trying to capture the users digits pressed with -- exten => 1000,n,Read(DIGITS,,20) -- and then pass it to my AGI script -- exten => 1000,n,Agi(capture.php,${CALLERID(all)},${SESSID},${DIGITS}) -- but DIGITS is empty - I believe my Read command is formatted correctly. |
17:44.03 | igcewieling | Forbidd3n: you know the drill, pastebin the relevant asterisk console output, just like for every other problem. |
17:44.06 | [TK]D-Fender | And we're not seeing proof that Read ack'd any digits |
17:44.21 | [TK]D-Fender | Who said * even perceived DTMF? |
17:44.40 | Forbidd3n | I am in the processes of putting up a pastebin |
17:45.45 | Forbidd3n | https://pastebin.com/Hetmg1Ri |
17:45.53 | ack-nack | Double escaping results in: |
17:45.58 | ack-nack | ] ERROR[2743][C-0000b820]: func_strings.c:967 regex: Unexpected arguments: should have been in the form '"<regex>" <string>' |
17:47.30 | [TK]D-Fender | <PROTECTED> |
17:47.31 | ack-nack | is \ the correct escape character in Asterisk? |
17:47.33 | [TK]D-Fender | ^^^^^^^^^^^^^^^^^^^^ |
17:48.42 | Forbidd3n | [TK]D-Fender: ok, but I hit keys on my keypad |
17:48.51 | [TK]D-Fender | <[TK]D-Fender> Who said * even perceived DTMF? |
17:48.52 | [TK]D-Fender | ^ |
17:49.01 | [TK]D-Fender | You are doing some funny bridge. |
17:49.01 | ack-nack | Doubtless Asterisk's curl wants me to comple a set [0-9], and ain't seeing the excapement. |
17:49.09 | Forbidd3n | this has to do with Call A and Call B -- Call B doesn't know that Call A hit dialtones |
17:49.10 | [TK]D-Fender | Nothing tells me that implicitly DTMF is passed over that |
17:49.27 | Samot | sighs |
17:49.36 | Samot | How many times do we have to go over that is the issue? |
17:49.43 | [TK]D-Fender | Also you never specified DTMF mode for that peer |
17:49.44 | Forbidd3n | Samot: I wasn't asking |
17:50.05 | Samot | What have you done at the Twilio level to correct it? |
17:50.09 | ack-nack | What's Asterisk using as it's regex parser? Grep? |
17:50.30 | Forbidd3n | I am working with their conference stuff, but doesn't seem to be working |
17:50.47 | Forbidd3n | [TK]D-Fender: is that a setting in the incoming peer? |
17:50.53 | *** join/#asterisk pchero (~pchero@x1-6-d8-d7-75-5e-99-79.cpe.webspeed.dk) |
17:51.01 | [TK]D-Fender | clearly |
17:51.36 | [TK]D-Fender | Most conference stuff does NOT pass dtmf off rom one end to the others otherwise one randm member of a confernce could screw with all the other callers |
17:51.41 | [TK]D-Fender | Which would be chaos |
17:52.06 | Forbidd3n | That makes sense |
17:52.16 | [TK]D-Fender | Almost common.... |
17:52.30 | Samot | You need to engage Twilio. |
17:52.42 | Samot | Either their support and/or their forums. |
17:53.19 | Samot | Until you have Call A and Call B legs bridged together everything else is pointless. |
17:53.30 | Samot | Asterisk isn't going to get DTMF sent by Call A leg |
17:53.33 | Forbidd3n | Samot: I already wrote in the forum asking if they offer bridging with SIP |
17:53.39 | Samot | Call A leg isn't going to hear the audio playback |
17:53.47 | Forbidd3n | Samot: agree |
17:53.51 | ack-nack | Is there a way to have Regex return THE MATCH instead of 1 [true], or is there a different function? |
17:54.23 | Forbidd3n | I am working on this. I have some things in code and didn't see digits so apparently that isn't working. I was just asking if my Read command was correct syntax originally |
17:54.58 | Forbidd3n | Samot: and there is no way to forward the call the PBX and setup a bridge there and then call back Twilio? |
17:55.11 | [TK]D-Fender | It was waiting for digits. |
17:55.13 | [TK]D-Fender | It saw nothing |
17:55.26 | Samot | Again.. |
17:55.33 | Forbidd3n | [TK]D-Fender: that is because, like Samot said, Call A isn't telling Call B about the tones |
17:55.38 | Samot | Bridging the two calls is a TWILIO thing. |
17:55.45 | Samot | Not an Asterisk thing. |
17:56.05 | Forbidd3n | Samot: I can't seem to find docs on it anywhere, including their forum |
17:56.08 | Samot | You have a call that terminated on their voice platform |
17:56.15 | Forbidd3n | at least not under the bridge term |
17:56.23 | Samot | Then a call that originated from their voice platform |
17:56.36 | [TK]D-Fender | Right about now you should be testing in PARALLEL with another SIP device so you can rule out the Twilio side where it is at fault. |
17:57.22 | Forbidd3n | [TK]D-Fender: I can do that, but it wouldn't be comparing apples to apples would it? |
17:57.41 | [TK]D-Fender | You'd be able to validate your DIALPLAN |
17:57.54 | [TK]D-Fender | And prove taht it's what's being provided by Twilio that is fucking up |
17:58.06 | Forbidd3n | Let me give that a try |
17:58.12 | *** join/#asterisk pchero (~pchero@x1-6-d8-d7-75-5e-99-79.cpe.webspeed.dk) |
17:58.13 | [TK]D-Fender | "Works with my softphone, must be that CALL" |
17:58.40 | Samot | Or even setup a straight up Elastic Trunk with them |
17:58.45 | Samot | Vs. a Programmable Trunk |
17:58.57 | Samot | Since the "Elastic Trunk" is a standard SIP trunk. |
17:59.03 | Samot | Where they just send the call to the PBX |
17:59.13 | Samot | If that works, then it's the Programmable Trunk |
17:59.15 | [TK]D-Fender | Or anything else "simple" |
18:04.31 | *** join/#asterisk giesen (~ggiesen@ego.giesen.me) |
18:10.50 | *** join/#asterisk dar123 (~dar@2600:1700:38d0:1470:1ae:fea1:4845:577a) |
18:11.42 | *** join/#asterisk sekil (~sekil@cable-89-216-227-4.dynamic.sbb.rs) |
18:14.05 | ack-nack | Is there a way to have Regex return THE MATCH instead of 1 [true], or is there a different function, like a strpos function? |
18:16.21 | *** join/#asterisk billxx (49958984@gateway/web/freenode/ip.73.149.137.132) |
18:17.19 | [TK]D-Fender | No, * REGEX = dumb |
18:17.24 | Samot | No. REGEX() is true/false returns. |
18:17.31 | [TK]D-Fender | #boolean |
18:17.54 | Samot | 1/0 really |
18:18.02 | Samot | At that point you have the VAR |
18:18.18 | Samot | If the VAR matches wouldn't you just do something at that point? |
18:18.27 | ack-nack | So how does one get the string that the regex matches? |
18:18.37 | Samot | You gave it the string |
18:18.51 | Samot | How did what is in REGEX() get there? |
18:19.07 | ack-nack | The string comes from curl, and I want a substring |
18:20.39 | ack-nack | There don't appear to be tools to pull a value out of an XML, JSON, or a labeled string |
18:20.43 | Samot | If the VAR that you are REGEX against is a URL with a query string, then you're going to have to CUT that VAR up to get what you want. |
18:20.49 | [TK]D-Fender | CUT() is the only thing you haev, but its delimiter options are limited |
18:21.08 | [TK]D-Fender | Sorry I think I missed your intention earlier |
18:21.25 | [TK]D-Fender | regex can only match, not use for substring |
18:21.36 | ack-nack | [TK]D-Fender: NP thx for the help. maybe I can double-CUT() the string to grab the left and right half |
18:21.59 | [TK]D-Fender | might do. Or you can parse it char by char the hard way |
18:22.17 | [TK]D-Fender | I wrote an entire programming language by starting with that thought for comm scripting before... |
18:22.36 | ack-nack | So, so ugly--but perhaps not as ugly as the char-by-char method :-) |
18:22.41 | Samot | Or you can dump it to AGI or something and let the script do it. |
18:22.54 | Samot | The set the VARs you want into the dialplan off that |
18:23.12 | [TK]D-Fender | First I wrote an ANSI and AVATAR+ terminal emulation parser... and then it became a language... |
18:23.26 | [TK]D-Fender | <Samot> Or you can dump it to AGI or something and let the script do it. <- yup |
18:23.45 | *** join/#asterisk zapata (~zapata@2a02:b18:581:10:2cf0:3105:d941:9e07) |
18:23.50 | ack-nack | I'm surprised that there aren't more string parsing functions--seems like others would have faced this before, especially with support for CURL, which I half-expected to have some JSON or XML parsing baked in. |
18:24.04 | [TK]D-Fender | Anything advanced people tend t do in AGI |
18:24.31 | [TK]D-Fender | *'s dilaplan parser is dumber than sloppy shit I made 25 years ago as a hack :) |
18:25.43 | ack-nack | [TK]D-Fender : So I'm not the only one :-) All of those methods work, It's always a question of which is most elegant so years later I'm not scratching my head any longer than necessary trying to remember what how it works. |
18:26.08 | [TK]D-Fender | #joyofrediscovery |
18:27.50 | ack-nack | I suspect the inability to use [ in REGEX is a bug. |
18:28.00 | ack-nack | Them suckers waz eXcaped |
18:28.23 | ack-nack | and the * choking was abundant |
18:29.50 | ack-nack | Any idea what might be going on there? What's *'s regex parser? |
18:30.27 | [TK]D-Fender | Not sure, not POSIX I know |
18:30.40 | ack-nack | Ah. That essplains it. |
18:30.54 | Worldexe | you can also use Lua for pbx instead of agi/fastagi calls. |
18:31.12 | ack-nack | If you ever thought reading regexes's was hard, writing a regex parser causes premature hair loss |
18:34.26 | sibiria | ack-nack: it's its own flavor |
18:34.34 | sibiria | it's not entirely POSIX, and far from anything PCRE |
18:34.59 | sibiria | it's not really regex, it's just fancier pattern matching |
18:35.30 | sibiria | a decent facsimile, simply |
18:36.54 | ack-nack | sibiria: it appears to ignore escaped square brackets, which seems significant. |
18:38.13 | [TK]D-Fender | "Significant" ... my favourite scale of fuck-up :) |
18:38.21 | sibiria | tries to imagine dialing a [ or ] extension |
18:39.04 | [TK]D-Fender | https://xkcd.com/327/ |
18:40.09 | *** join/#asterisk startledmarmot (~startledm@cpe-75-82-221-87.socal.res.rr.com) |
18:40.14 | sibiria | bahah |
18:44.09 | *** join/#asterisk startledmarmot (~startledm@cpe-75-82-221-87.socal.res.rr.com) |
18:45.02 | ack-nack | So funny. I literally reference that in my dialplan. |
18:45.45 | ack-nack | ;same => n,Set(LIDBNAME=${FILTER(0-9 a-zA-Z,${LIDBNAME})}) ;Sanitize CallerID to protect against calls from "Robert'); Drop Table..." |
18:48.33 | *** join/#asterisk jamesaxl (~James_Axl@109.172.62.242) |
18:56.12 | igcewieling | I too would like a func_JSON |
18:57.11 | Kobaz | soooooo |
18:57.17 | Kobaz | i'm making a localhost to localhost call |
18:57.27 | Kobaz | and i'm getting: [2018-03-20 12:55:05.457] WARNING[3468] chan_sip.c: Retransmission timeout reached on transmission 077ec5994cfb1d6c27c9d775759cb56a@127.0.0.1:5060 for seqno 102 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions |
18:57.48 | Kobaz | it randomly starts breaking, not sure why yet |
18:58.04 | Kobaz | it was working all day until around noon, and then every localhost call started failing |
18:58.40 | *** join/#asterisk degenerate (~degenerat@S0106689e199caaf4.no.shawcable.net) |
19:05.28 | [TK]D-Fender | And we're not looking at actual SIP debug.... |
19:05.34 | Kobaz | i don't have it |
19:06.06 | Kobaz | ugh, pretty sure i got it |
19:06.55 | Kobaz | 2018-03-20 12:54:01.383, [AsteriskFirewall] (11881) SECURITY EVENT: [2018-03-20 12:54:00.050] NOTICE[2047] manager.c: 127.0.0.1 failed to authenticate as 'admin' 2018-03-20 12:54:01.383, [AsteriskFirewall] (11881) Security Failure Log Line, Address: <127.0.0.1> |
19:07.01 | Kobaz | well that's kind of dumb |
19:07.08 | Kobaz | this is the only box that didn't get 127.0.0.1 excluded |
19:07.31 | Kobaz | definitely matches the timeframe i started having problems, heh |
19:09.40 | *** join/#asterisk startledmarmot (~startledm@cpe-75-82-221-87.socal.res.rr.com) |
19:14.55 | *** join/#asterisk Oatmeal (Suzeanne@gateway/vpn/privateinternetaccess/suzeanne) |
19:17.53 | *** join/#asterisk startledmarmot (~startledm@cpe-75-82-221-87.socal.res.rr.com) |
19:40.51 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
19:41.50 | *** join/#asterisk zapata (~zapata@2a02:b18:581:10:2cf0:3105:d941:9e07) |
19:45.16 | *** join/#asterisk startledmarmot (~startledm@cpe-75-82-221-87.socal.res.rr.com) |
19:47.19 | *** join/#asterisk Oatmeal (Suzeanne@gateway/vpn/privateinternetaccess/suzeanne) |
19:48.39 | *** join/#asterisk retentiveboy (~retentive@73.106.78.190) |
20:04.35 | *** join/#asterisk Jesterboxboy (~Thunderbi@84-115-150-8.cable.dynamic.surfer.at) |
20:20.13 | *** join/#asterisk dar123 (~dar@2600:1700:38d0:1470:1ae:fea1:4845:577a) |
20:26.44 | *** join/#asterisk pruonckk (~pruonckk@189.40.85.176) |
20:57.04 | *** join/#asterisk retentiveboy (~retentive@c-73-82-30-193.hsd1.ga.comcast.net) |
21:04.18 | Forbidd3n | Samot: Ok, I think I am on the right track on trying to bridge, what I think Twilio is calling conferencing, working. I am getting a new error. I thought from-internal was a default setting, but I am getting this error -- NOTICE[28933][C-0000000c]: chan_sip.c:26455 handle_request_invite: Call from '1000' (54.172.60.2:5060) to extension '+18043425324' rejected because extension not found in context 'from-internal' |
21:06.39 | *** join/#asterisk tzafrir (~tzafrir@62-90-199-247.barak.net.il) |
21:08.56 | *** join/#asterisk Aguapane1o (~DMA@190.242.59.146) |
21:12.12 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
21:14.47 | *** join/#asterisk [TK]D-Fender (~joe@64.235.216.2) |
21:15.25 | *** join/#asterisk Aguapanelo (~DMA@190.242.59.146) |
21:15.35 | Aguapanelo | Hello! |
21:16.30 | Aguapanelo | Is there any way I can route a DID to an IVR on another PBX I got a trunk with? DID is on PBX A, there's a SIP trunk to PBX B and I want that DID to bring up an IVR on PBX B. |
21:17.23 | [TK]D-Fender | Your calls go wherever you tell them to |
21:17.27 | [TK]D-Fender | It's your dialplan |
21:18.17 | Aguapanelo | Well, what I found with asterisk -rvvv is that PBX B tries to call the original number. I tried configuring the DID on the second PBX so it'd "recognize" it but had no luck. |
21:18.50 | [TK]D-Fender | So you've just done something wrong. |
21:19.17 | Aguapanelo | Clearly :P |
21:19.17 | [TK]D-Fender | Your peers are either proper, or not. Your dialplan (if the call is accepted) either matches or doesn't |
21:20.01 | [TK]D-Fender | So be clear about which step is failing and go look at that part |
21:20.05 | Aguapanelo | I found it's currently working as this: DID goes to ext. on PBX A, that ext has a follow-me to PBX B using some long prefix) and there's a route to use the A-B trunk. As IVR on B is associated to default DID, it gets played (you can also notice some long silence) |
21:20.18 | [TK]D-Fender | ~freepbx |
21:20.18 | infobot | [~freepbx] FreePBX is unable to be supported here. It is made up of complex dialplans and scripts which can't be easily supported by people who aren't deeply involved. Try joining #freepbx and asking there |
21:20.19 | [TK]D-Fender | ^ |
21:20.39 | Aguapanelo | OK, will try that too |
21:27.53 | ack-nack | igcewieling: THere's a dude's func_JSON you can compile into Asterisk but it's not been merged |
21:29.51 | *** join/#asterisk shootbird (~quassel@beepbeep.serverpit.com) |
21:32.11 | igcewieling | ack-nack: *nod* I prefer not to keep up with external code. |
21:36.56 | Aguapanelo | Thx for the heads-up, [TK]D-Fender |
21:36.58 | *** part/#asterisk Aguapanelo (~DMA@190.242.59.146) |
21:52.48 | ack-nack | igcewieling: you and me both. That's why we don't use it. |
21:58.04 | *** join/#asterisk startledmarmot (~startledm@cpe-75-82-221-87.socal.res.rr.com) |
22:05.29 | *** join/#asterisk tomaluca95 (~quassel@kde/developer/tomaluca) |
22:06.12 | *** join/#asterisk paulgrmn__ (~paulgrmn@184.75.212.67) |
22:08.31 | *** join/#asterisk startledmarmot (~startledm@47.154.25.80) |
22:21.56 | *** join/#asterisk cemotyz09 (~cemotyz09@cpe-70-121-157-202.satx.res.rr.com) |
22:53.20 | *** join/#asterisk sibyakin (~sibyakin@83.234.69.145) |
23:07.19 | *** join/#asterisk pruonckk (~pruonckk@135-143-11-177.raimax.com.br) |
23:24.54 | *** part/#asterisk kharwell (kharwell@nat/digium/x-njaxqmvqoddrnlpz) |
23:35.32 | *** join/#asterisk Major_Lurker (~Andrew@110-232-243-127.cust.dcsi.net.au) |
23:38.16 | *** join/#asterisk shootbird (~quassel@beepbeep.serverpit.com) |
23:47.08 | *** join/#asterisk pchero (~pchero@x1-6-d8-d7-75-5e-99-79.cpe.webspeed.dk) |
23:55.20 | *** join/#asterisk pchero (~pchero@x1-6-d8-d7-75-5e-99-79.cpe.webspeed.dk) |