IRC log for #asterisk on 20210510

00:09.18*** join/#asterisk sinaowolabi (~Sina@102.134.114.1)
01:55.22*** join/#asterisk AndyCap (~aoy@pdpc/supporter/sustaining/AndyCap)
01:58.35*** join/#asterisk tsal (~tsal@i59F527C4.versanet.de)
01:59.40*** join/#asterisk mr44er1 (~mr44er@dynamic-046-114-000-072.46.114.pool.telefonica.de)
02:07.48*** join/#asterisk CatCow97 (~mine9@c-73-96-109-206.hsd1.or.comcast.net)
02:33.55*** join/#asterisk setham (~textual@unaffiliated/setham)
02:58.55*** join/#asterisk forgotmynick (uid24625@gateway/web/irccloud.com/x-mhqfmrddwpecmhtj)
03:03.19*** join/#asterisk ldm (~ldm@hacksoc/member)
05:00.16*** join/#asterisk Ner0Zer0 (~Ner0Zer0@87.253.63.54)
06:18.41*** join/#asterisk bmg505 (~leon@8ta-146-129-02.telkomadsl.co.za)
06:31.23*** join/#asterisk sa02irc (~mbax@155-079-043-212.ip-addr.inexio.net)
06:35.46*** join/#asterisk sinaowolabi (~Sina@102.134.114.1)
07:30.55*** join/#asterisk sinaowolabi (~Sina@105.112.69.124)
07:33.15*** join/#asterisk JAunis (~jean@lputeaux-658-1-51-39.w92-154.abo.wanadoo.fr)
08:13.57*** join/#asterisk lankanmon (~LKNnet@cpeb4fbe4e331bd-cm9050cadd5190.cpe.net.cable.rogers.com)
08:22.55*** part/#asterisk JAunis (~jean@lputeaux-658-1-51-39.w92-154.abo.wanadoo.fr)
09:24.42*** join/#asterisk netman (~netman@185.94.249.19)
09:27.00*** join/#asterisk sinaowolabi (~Sina@102.134.114.1)
09:51.08*** join/#asterisk sinaowolabi (~Sina@105.112.69.124)
09:53.05*** join/#asterisk opal (~wowaname@volatile/founder/wowaname)
10:30.10*** join/#asterisk itt788 (~itt788@117.246.150.255)
10:31.53itt788what should be the value of "udpbindaddr" instead of 0.0.0.0 when the goal is to use only one network interface?
10:32.29ornitt788: the ip address of the network interface that you want to use
10:33.12itt788192.168.1.0? or 192.168.1.0/24? for the case the network address is 192.168.1.1 for example
10:34.00itt788orn: so 192.168.1.1?
10:34.48itt788you responded fast, i was still writing when your message appeared
10:35.19ornitt788: yeah, 192.168.1.1 if that's the ip on the interface you want to bind on
10:35.37orn0.0.0.0 is just a wildcard mask, meaning listen on all available interfaces
10:37.00itt788isn't there anything we could use so that i do not need to update sip.conf if i ever change my lan ip address?
10:38.06itt788the names like eth0, wlan0 can't be used for this purpose?
10:38.31ornitt788: i don't believe there is, short of writing a post-up script for your networking that will automatically update sip.conf for you
10:38.40ornitt788: will the address be changing often?
10:39.15ornitt788: you could just listen on all intefaces, i guess, and use a firewall to make sure that only the LAN is allowed to communicate
10:39.34itt788not really, it depends on the internet box.
10:40.23itt788orn: firewall? you mean iptables?
10:41.17ornitt788: for example, yes
10:41.25itt788if the modem/router is reset i should be given another address that the usual one
10:41.57ornitt788: you could use a static address or use a static dhcp delegation to make sure you always keep it on your own LAN
10:42.36itt788you mean by touching the settings in the router?
10:42.52ornitt788: exactly
10:46.05*** join/#asterisk opal (~wowaname@volatile/founder/wowaname)
10:47.30itt788why not, but i'd prefer an iptable rule
10:48.38itt788i think 5000-5100 is the range for sip ports, isn't it?
10:49.53*** join/#asterisk sinaowolabi (~Sina@102.134.114.1)
10:50.16ornit's configurable in rtp.conf
10:50.32ornif you're using chan_sip
10:50.57ornrtpstart= and rtpend=
10:51.39itt788i see
10:57.46electronic_eelitt788: just make sure the ip address is already there before you start asterisk, otherwise it will not start properly
10:58.22electronic_eelthe usual way to do that is by using the after option in systemd
10:59.20electronic_eelwith 0.0.0.0 it doesn't matter, it will work with any ip, even if it is configured after asterisk is already running
11:56.07*** join/#asterisk CatCow97 (~mine9@c-73-96-109-206.hsd1.or.comcast.net)
11:57.03*** join/#asterisk itt788 (~itt788@117.246.182.255)
12:01.46*** join/#asterisk gschanuel (~gschanuel@200-181-252-244.user3p.brasiltelecom.net.br)
12:08.21*** join/#asterisk lbazan (~LoKoMurdo@fedora/LoKoMurdoK)
13:10.24*** join/#asterisk ghoti_ (~paul@dsl-rb-64-118-19-141.wtccommunications.ca)
13:15.53*** join/#asterisk rpifan (~rpifan@p200300d2672b5d00e2384f598a714674.dip0.t-ipconnect.de)
13:23.18*** join/#asterisk gtjoseph (~gtjoseph@asterisk/developer/gtjoseph)
13:23.18*** mode/#asterisk [+o gtjoseph] by tolkien.freenode.net
13:25.14*** join/#asterisk gtjoseph (~gtjoseph@asterisk/developer/gtjoseph)
13:25.15*** mode/#asterisk [+o gtjoseph] by ChanServ
13:33.12itt788i set the udpbindaddr to the address of my network interface but still when i check "sip show peer" the ip address given to one of the peers is of another network interface
13:34.19fileAsterisk doesn't give IP addresses to peers, depending on configuration we either take it as they've told us, or we use the actual IP address and port the SIP REGISTER came from
13:35.20*** join/#asterisk rpifan_ (~rpifan@p4fca2729.dip0.t-ipconnect.de)
13:41.10itt788file: yes this sounds correct but the setting parameter "host=" which could be "dynamic" sounds like it gives an ip address.
13:41.41fileit doesn't give an IP address, it means that the remote side sends a SIP REGISTER to tell us how to reach it
13:41.45fileinstead of being statically configured
13:43.44*** join/#asterisk Enitin (enitin@gateway/vpn/privateinternetaccess/enitin)
13:43.48*** join/#asterisk sinaowolabi (~Sina@105.112.69.124)
13:44.22itt788i see
13:46.40itt788still i don't see why in the CLI it shows a wrong ip address for one of the peers. I set up only two peers, the other one has "(Unspecified)"
13:48.11file(Unspecified) means they haven't contacted Asterisk and told it how to reach them
13:49.17*** join/#asterisk catphish (~charlie@unaffiliated/catphish)
13:49.37fileunless NAT options are enabled, then we take what the phone says - as a SIP REGISTER means "if you need to send me something I can be reached at this IP address and this port"
13:49.45fileso if that's wrong, then it is the phone deciding to put that in
13:50.00catphishhow does one set the IP address for pjsip rtp media?
13:50.30catphishoh, perhaps external_media_address is what i want
13:50.39catphishalthough it's not "external", it's local
13:50.48fileby default the routing table will decide, otherwise there are options in pjsip.conf to set a media address and also to have it be bound to, if behind NAT then the external_media_address and local_net options are used to substitute the IP address in the SDP
13:51.21catphishi'm not behind a NAT, but i am not using the IP from the routing table for my asterisk, i'm using a VRRP address
13:51.48catphishso i kinda want to set the *local* media address if that's possible
13:52.06catphishoh, i'm being blind, there's media_address=
13:52.08catphishthanks
13:59.44catphishsadly that doesn't seem to work, it advertises the correct address, but doesn't send from it
14:02.46catphishfixed.      bind_rtp_to_media_address=yes combined with media_address=
14:08.45*** join/#asterisk sibiria (~sibiria@unaffiliated/sibiria)
14:13.39igcewielingGenerally, if you have to use media addresses when not using nat, you have a really badly designed routing table.
14:18.42*** join/#asterisk andrewyager (~andrewyag@syd02s26-fw01.thecore.net.au)
14:18.51*** join/#asterisk sinaowolabi (~Sina@102.134.114.1)
14:28.54itt788i use ekiga, does anyone knows where other than ~/.config/gconf/apps/ekiga are there user specific files storing network configuration, account details and contacts?
14:31.43*** join/#asterisk kharwell (uid358942@gateway/web/irccloud.com/x-hwjobuhxegvwaeql)
14:31.44*** mode/#asterisk [+o kharwell] by ChanServ
14:32.22itt788i removed ~/.config/gconf/apps/ekiga irectory but nothing changed
14:33.03*** join/#asterisk bford (uid283514@gateway/web/irccloud.com/x-khvydodtyupiilgr)
14:33.03*** mode/#asterisk [+o bford] by ChanServ
14:33.46*** join/#asterisk Ravenheart (~Ravenhear@95-43-79-254.ip.btc-net.bg)
14:35.06*** join/#asterisk rpifan_ (~rpifan@p200300d2670B950013552A7Fe188c654.dip0.t-ipconnect.de)
14:36.06catphishigcewieling: why so? my host has 2 IP addresses, the first is in the routing table, the second is a virtual IP used for the voice application
14:36.36igcewielingcatphish: is the virtual IP on the same network as the main IP?
14:36.48catphishigcewieling: yes
14:36.55igcewielingif so, that is the example.
14:37.44igcewielingWhen you use virtual IPs the routing table doesn't matter as much and you have to jump through hoops to get ANY application to use the correct IP.
14:38.23igcewielingBTW, what exactly is "the voice application"?
14:38.24catphishright, it needs applications to bind to the correct address
14:38.48catphishigcewieling: just the thing i've built on asterisk/pjsip
14:38.51igcewielingIn any case, if you were not using virtual IPs, chances are it would have worked immediatly.
14:39.06igcewielingcatphish: why not use the main IPs?
14:39.32catphishyes, of course, the problem was purely that PJSIP was not binding to a specific IP, and hence sending RTP traffic from the server's primary IP
14:40.23catphishthe main IPs won't work, because user phones behind firewalls/NAT send RTP to the VRRP address, and expect traffic back from the same address
14:40.50catphishthis is basically because of symmetric RTP being needed for phones behind NATs
14:40.54igcewielingAh, you are also using your PBX as a router?
14:41.07catphishas a router? i don't think so
14:41.28igcewielingVRRP means it acts like a router, right, using a floating IP of some kind?
14:42.48catphishit's a floating IP, nothing to do with being a router (though that was what VRRP was originally designed for i think)
14:43.04igcewielingI do all that sort of stuff at the network level with routers and GRE tunnels.
14:43.19catphishso i have 2 hosts, both running asterisk, an IP that can float between the two for failover, nothing more complex than that
14:43.46catphishso the SIP service runs on the floating IP, and asterisk needs to bind to that IP for everything SIP/RTP related
14:44.00igcewielingAh, you are using that method.
14:44.13catphishthis now appears to work find with the config i mentioned above
14:44.14igcewielingThat sort of makes sense as to why you had so many problems.
14:44.24catphishwell i only had one problem :)
14:44.44catphish(so far)
14:44.52igcewielingyour are not expecting calls to magically migrate to the failover server when the main one fails?
14:45.20catphishwhy would i expect that? i have nothing in place to replicate call state
14:45.29igcewielingHow are you handling configuration sync between the servers?
14:45.46catphishPJSIP realtime + mariadb async replication
14:45.54catphishthat part appears to work very well
14:46.16igcewielingcatphish: Many people just setup a failover server and point the phones to that as the failover server IP.    That avoids all that complication.
14:46.43catphishregistrations are replicated in maria, so calls can immediately be re-established
14:47.24ornanother option would be to use a sip proxy for redirection to the currently active pbx, which might be less error prone to manage
14:47.47SamotBy immediately re-established you mean a new call can be made?
14:47.50ornvrrp is as good method as any i guess though
14:48.12igcewielingcatphish: how many phones on the PBX?
14:48.25catphishSamot: yes indeed
14:49.38catphishorn: having used both, i find proxies (even a simple redirecting one) introduce more complexity than VRRP
14:49.58catphishbut the right solution is whatever works for the situation of course
14:50.37catphishigcewieling: only about 1,000 on this system at the moment
14:50.43SamotYes but if something happens to my proxy in Chicago I can use my proxy in Dallas.
14:51.01*** join/#asterisk lambda (~xiretza@2a01:4f8:c010:8b24::1)
14:51.39igcewielingcatphish: I agree with you about proxies.
14:51.40orncatphish: absolutely, whatever you find best to work with and works reliably
14:51.58SamotI guess that depends on the VRRP setup.
14:52.11orncatphish: we sometimes use BGP anycast for the same purpose as VRRP. Slower, but can work with a lot of equipment
14:52.14catphishSamot: you're right, though strictly one doesn't need a proxy for that, just a god routing protocol
14:52.16SamotAnd if geo-redundancy is a thing being used.
14:52.46Samotcatphish: Yes, but if I was to do that with two Asterisk servers I would need cross connects between my DCs.
14:52.53catphishi am using VRRP between 2 sites with a simple ethernet network that physically spans the two over a few miles
14:53.17catphishSamot: right, i happen to have 2 data centres with dark fibre between them for this
14:53.44SamotA few miles apart?
14:53.49catphishyes
14:54.00SamotMine are a few states apart.
14:54.09catphishthat makes it trickier :)
14:54.14SamotNot with the proxies.
14:54.26catphishanycast proxies would work well then
14:54.41SamotI don't need anycast. I have SRV
14:54.47catphishthat works too :)
14:55.16catphishthough maybe you don't even need proxies in that case (for the failover)
14:55.37SamotI do quite a lot on my proxies.
14:56.06catphishyeah, it makes a lot of sense, i used to have a pretty complex kamilio setup
14:56.22catphishbut for this deployment, 2 asterisks is a lot simpler and does what i need
14:56.23SamotAsterisk does not handle registration services, in my case.
14:57.46ornSamot: I'm curious -- how do you handle those? On kamailio?
14:57.51SamotYes.
14:58.00catphishsince looking at the new pjsip realtime, i've found asterisk is a lot more capable in that regard
14:58.18catphishpreviously i used kamailio primarily because i couldn't do good database backed registrations in asterisk
14:58.26SamotYeah but I also can tear apart the SIP packet.
14:58.33ornSamot: Interesting. Do you have a high-level overview of how you are running things? It's always interesting to see other people's Asterisk deployments
14:58.35SamotValidate things
14:58.50SamotProxies handle all interaction between the network and the users.
14:59.07*** join/#asterisk lambda (~xiretza@irc.xiretza.xyz)
14:59.19SamotProxies figure out if they can call long distance, offshore, International, it does the rate checks for users that use that
14:59.31igcewielingIf I'd started with Kamailio originally, I'd never have started with Asterisk.   Any time I look at Kamailio I realize I'll have to rebuild my entire Asterisk dialplan into Kamailio.   No thanks.
14:59.42SamotIt checks if stuff is in a blocklist not just for the user but for the company itself too
14:59.55*** join/#asterisk lambda (~xiretza@irc.xiretza.xyz)
14:59.57SamotYou don't have to rebuild dialplan into Kamailio.
15:00.05SamotI'm not sure where you're getting that.
15:00.33igcewielingSamot: Just passing packets though doesn't provide any value to me at all.
15:00.42SamotI don't just pass packets through.
15:00.46SamotIt does auth.
15:00.56SamotIt validates the request
15:01.27igcewielingand then passes the packet to Asterisk
15:01.41SamotSure.
15:01.49*** join/#asterisk slima (~slima@unaffiliated/slima)
15:01.51SamotIf it is supposed to.
15:02.28igcewielingI use IP auth, so registrations are not involved.   I suppose another application to validate the incoming request would be nice.
15:03.02igcewielingBut I will have to send all calls to asterisk do basically do everything, but not since the IP is hidden from Asterisk, I don't even have IP auth.
15:03.41slimaHi, I need a hint, there is something like: foo = [ 'one', 'to', 'three' ] GoToIf ${CALLERID(num)} is _in_ $foo ?
15:04.32ornslima: you could use a while loop
15:04.35SamotWell my other advantage, my Asterisk IPs are hidden from public.
15:04.47slimanow i have GotoIf($[$["${CALLERID(num)}" = "one"] | $["${CALLERID(num)}" = "to"] [...]
15:05.03Samotslima: There are no arrays in Asterisk like other languages.
15:05.34Samotfoo=['one','two','three'] is a string and one that will cause problems
15:06.02igcewielingsomething like ExecIf($[${REGEX("bob|tim|mary" ${MYVAR})}]?Hangup(16))
15:06.24SamotYeah, that would work better.
15:07.13ornslima: you could also use a combination of the While and Cut dialplan applications to run through a list you have stored in a variable, using some sort of a separator, but igcewieling's solution is much cleaner
15:08.13SamotI would just watch using comma (,) as a delimiter in your vars.
15:08.43SamotBecause if you pass that to certain apps or functions, it could take it as *options* for that app or function call.
15:11.48ornslima: you could also use asterisk database variables to maintain some sort of list... or registration state... or whatever. perhaps it would be better if you described what you're trying to achieve instead of getting implementation hints
15:15.16slimaI have some list of ${CALLERID(num)} who can call to exten, numbers not on that list, will be transfered
15:15.34SamotWhat is doing the transfer?
15:15.54ornslima: all righty -- when i've done such things in the past, i've generally just used the asterisk database which i find easy to maintain
15:16.13igcewielingI use an AGI for that sort of thing
15:16.25igcewieling(I use the same AGI for a lot of other things too)
15:16.50ornigcewieling: +1 on AGI, for things a little more involved than simple lists. but in this case, that might make sense if you find it nice to just maintain some array of allowed caller ids
15:17.24slimatransfer is not good word for that, they will go to another exten.
15:17.33SamotK.
15:18.42slimabut, igcewieling solution with REGEX is good enough I think.
15:18.52ornslima: GotoIf(${DB(allowed_cids/${CALLERID(num})}?Allowed:NotAllowed)
15:18.56ornwould be an asterisk database solution
15:19.16*** join/#asterisk eXistenZ (~pectic@bzq-109-67-246-66.red.bezeqint.net)
15:19.34slima$DB solution is good too.
15:19.57ornregex is nice if there's a very short list
15:20.13slimayeah, 3-5 items
15:20.21ornoh yeah, then that's prob. the way to go
15:20.54slimathanks you guys for help.
15:21.13*** join/#asterisk lambda (~xiretza@irc.xiretza.xyz)
15:23.19*** join/#asterisk cation21 (cation21@gateway/vpn/protonvpn/cation21)
15:30.14*** join/#asterisk drathir87 (~drathir@gateway/tor-sasl/drathir)
15:31.54igcewieling"Asterisk is like sex, there is usually several ways to accomplish your goals"
15:33.45*** join/#asterisk cresl1n (uid299068@asterisk/libpri-and-libss7-expert/Cresl1n)
15:33.45*** mode/#asterisk [+o cresl1n] by ChanServ
15:35.29slima+1
15:45.14rpifanlol
15:51.14SamotAnd just like sex, the other side can reject your attempts because you're not doing it right.
16:47.12*** join/#asterisk smkelly (~smkelly@mykonos.smkelly.org)
17:16.22*** join/#asterisk Iamnacho (~Iamnacho@ip68-102-131-177.ks.ok.cox.net)
18:21.10*** join/#asterisk sinaowolabi (~Sina@105.112.69.124)
18:41.03*** join/#asterisk BakaKuna (~Thunderbi@2a02-a446-ae46-1-896e-b291-5920-dfe5.fixed6.kpn.net)
18:46.08*** join/#asterisk rpifan (~rpifan@p200300d2670b950062fe23644d77c875.dip0.t-ipconnect.de)
19:27.22*** join/#asterisk ttys000 (~ttys000@50.92.213.208)
20:02.53*** join/#asterisk Jesterboxboy (~Thunderbi@84-115-150-8.cable.dynamic.surfer.at)
20:44.26*** join/#asterisk andrewya_ (~andrewyag@syd02s26-fw01.thecore.net.au)
20:50.17*** join/#asterisk sinaowolabi (~Sina@102.134.114.1)
21:21.53*** join/#asterisk adeel (~adeel@fw1.ridgeway.scc-zip.net)
21:36.05*** join/#asterisk grummund (~unknown@unaffiliated/grummund)
22:11.11*** join/#asterisk Typhon (~Typhon@dslb-088-066-100-050.088.066.pools.vodafone-ip.de)
22:56.05*** join/#asterisk sinaowolabi (~Sina@105.112.69.124)
23:08.03*** join/#asterisk andrewyager (~andrewyag@8-104-141-114.static-dsl.realworld.net.au)
23:20.52*** join/#asterisk zapata (~zapata@2a02:1748:fad4:7260:4110:d376:6191:873f)
23:26.35*** join/#asterisk andrewyager (~andrewyag@syd02s26-fw01.thecore.net.au)
23:30.31*** join/#asterisk infernix (nix@unaffiliated/infernix)

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