Asterisk PBX yleistä keskustelua

Liittynyt
16.10.2016
Viestejä
9 665
Tuossa on tullut säädettyä tämänkin Asterisk ohjelmiston parissa. Nykypäivänä pystytys ja peruskäyttö ei ole vaikeaa mutta kun haluaisi vähän lisää.

Onkohan Suomessa mitään järkeviä SIP Trunk tarjoajia? Vaikka pientä korvaustakin vastaan?

Ideana olisi laajentaa normaaleista voip/videopuheluista myös siihen, että voisi soittaa ulkomaailmaankin tarvittaessa.

Asterisk (PBX) - Wikipedia

Onko muita tämän kimpussa olevia tulevia osaajia?
 
Tuli itselle kokeeksi viriteltyä Asterisk 16 pohjainen VOIP VitalPBX GUI:lla NAS:n vm:n. Sain muutaman VOIP pöytäpuhelimen firman poistosta ja pitäähän tällä nyt sitten leikkiä vähän. Hyvin lähti toimimaan sisäpuhelut. Trunkki on periaatteessa jo sovittu, mutta sillä ei ole kiirettä. Täytyy ensin virittää järjestelmä ilman pelkoa että tulee sekoiltua viritysvaiheessa valtakunnan puhelinverkon kanssa ja aiheutettua itselle turhaa laskua.

Mutta, koska taloudessa muutkin käyttää tätä viritystä niin mistä saisi Asteriksin ääniviestit suomeksi veloituksetta. Tietääkö kukaan mistä ladata? Auttaisi varmasti vähemmän kielitaitoaisia integroitumaan tähän systeemiin.

Muuten ihan hauska systeemi kun olen antanut numerot (extensions) windows tietokoneille, pöytäpuhelimille, kännyköille ja tableteille omat puhelinnumerot niin voi VOIP-puheluita soitella ilman nettiin menemistä sisäverkossa oman puhelinkeskuksen kautta eri laitteiden välillä ja normaalit pito/siirto/... ominaisuudet käyttöön. Konferenssit, videopuhelut yms. näyttäisi onnistuvan myös.

Trunkin hinta yhdellä ulkoisella numerolla (siis numeroavaruus = 1) yhdellä operaattorilla luokkaa 3e/kk ja puhelut siinä 4c/min luokkaa valtakunnan verkkoon (pvm) joten aika edullista jos vertaa kännykkään ilman puhepakettia. Täytynee yhdistää valtakunnan verkkoon kunhan kerkiää ja saa laitettua riittävän hyvin pelittämään.
 
Nostampa vanhaa ketjua. Heräsi kysymys liittyen asteriskin ja gsm gatewayn yhteiseloon. Tarkoituksena olisi rakentaa järjestelmä, jonka avulla pystyisi soittamaan ja vastaanottamaan normaaleja gsm tai 3g puheluja, mutta puheluiden soittaminen tapahtuisi esim jollain sipclientillä, tämä toki vaatii jonkinlaisen gsm-gatewayn yhdistettäväksi asterisk serveriin ja ideana on herännyt käyttää tähän jotain nokian vanhaa symbianpuhelinta. Onko tämä tuhoontuomittu idea ja kuulostaako tämä täysin mahdottomalta toteuttaa, miten tällaisia ratkaisuja yleensä ollaan toteutettu.
 
Nostampa vanhaa ketjua. Heräsi kysymys liittyen asteriskin ja gsm gatewayn yhteiseloon. Tarkoituksena olisi rakentaa järjestelmä, jonka avulla pystyisi soittamaan ja vastaanottamaan normaaleja gsm tai 3g puheluja, mutta puheluiden soittaminen tapahtuisi esim jollain sipclientillä, tämä toki vaatii jonkinlaisen gsm-gatewayn yhdistettäväksi asterisk serveriin ja ideana on herännyt käyttää tähän jotain nokian vanhaa symbianpuhelinta. Onko tämä tuhoontuomittu idea ja kuulostaako tämä täysin mahdottomalta toteuttaa, miten tällaisia ratkaisuja yleensä ollaan toteutettu.

Näitä virityksia on tullut tehtyä parikin. Ensimmäisessä harjoituksessa käytin yhdyskäytävänä Nokia Premicelliä. Viimeisessä käytin Asteriskin sijasta FusionPBX:ää (alla FreeSWITCH), jossa oli Huawei E1552-mokkula 3G-yhdyskäytävänä. Asteriskin chan_mobile-palikkaa en koskaan saanut kunnolla toimimaan. Siinä oli äänenlaatuongelmia ja vasteajatkin olivat surkeita. Taisi olla juuri Nokia 6600-symppari silloin käytössä. Huawein mokkula toimi mainiosti ja saattaa toimia edelleenkin. Sen puheominaisuudet piti avata maksullisella hakkerisoftalla.
 
Viimeksi muokattu:
Näitä virityksia on tullut tehtyä parikin. Ensimmäisessä harjoituksessa käytin yhdyskäytävänä Nokia Premicelliä. Viimeisessä käytin Asteriskin sijasta FusionPBX:ää (alla FreeSWITCH), jossa oli Huawei E1552-mokkula 3G-yhdyskäytävänä. Asteriskin chan_dongle-palikkaa en koskaan saanut kunnolla toimimaan. Siinä oli äänenlaatuongelmia ja vasteajatkin olivat surkeita. Taisi olla juuri Nokia 6600-symppari silloin käytössä. Huawein mokkula toimi mainiosti ja saattaa toimia edelleenkin. Sen puheominaisuudet piti avata maksullisella hakkerisoftalla.
Tarkoituksena olisi käyttää freepbx:ää tässä projektissa, mitkä huawein mokkulat tukevat puheominaisuuksia ja pitääkö ne avata maksullisella softalla. Nokia premicell on täysin outo laite meikäläiselle, mitä tutkin niin kyseessä on vanhempi puhelin.
Edittiä
taitaa mahdollisuus soittaa äänipuheluja olla kaikissa 3g ja 4g modeemeissa, koska ihan samanlainen modeemi sisällä kuin perus puhelimissa. Kuitenkin käyttäisin mielelläni jotain vanhempaa symbiania, koska niiden saatavuus on huomattavasti parempi kuin vanhempien 3g mokkuloiden
 
Viimeksi muokattu:
Tarkoituksena olisi käyttää freepbx:ää tässä projektissa, mitkä huawein mokkulat tukevat puheominaisuuksia ja pitääkö ne avata maksullisella softalla. Nokia premicell on täysin outo laite meikäläiselle, mitä tutkin niin kyseessä on vanhempi puhelin.
Edittiä
taitaa mahdollisuus soittaa äänipuheluja olla kaikissa 3g ja 4g modeemeissa, koska ihan samanlainen modeemi sisällä kuin perus puhelimissa. Kuitenkin käyttäisin mielelläni jotain vanhempaa symbiania, koska niiden saatavuus on huomattavasti parempi kuin vanhempien 3g mokkuloiden

Suppea lista yhteensopivista mokkuloista löytyy täältä. Chan_donglen kehitys on lopahtanut jo ajat sitten, joten en menisi takuuseen yhteensopivuudesta kun kyseessä on uudemmat mokkulat. Käsittääkseni nämä toimivat reitittimen kaltaisesti, eli ne narraavat tietokoneelle olevansa Ethernet-sovittimia. En tiedä, saako niistä puheominaisuutta kaivettua esille, vaikka modeemipiirit sitä periaatteessa tukevatkin.

Sain Huawei E1552:n puheominaisuuden päälle dc-unlockerilla. Laitoin mokkulan toimimaan FusionPBX:n kanssa, jossa vastaava softapalikka on mod_gsmopen. Oletan, että kaikki sen tukemat mokkulat toimivat myös chan_donglen kanssa.

Premicell on GSM-lankapuhelinsovitin ja niin Aatamin aikaista teknologiaa, etten sen suhteen vaivautuisi.
 
Suppea lista yhteensopivista mokkuloista löytyy täältä. Chan_donglen kehitys on lopahtanut jo ajat sitten, joten en menisi takuuseen yhteensopivuudesta kun kyseessä on uudemmat mokkulat. Käsittääkseni nämä toimivat reitittimen kaltaisesti, eli ne narraavat tietokoneelle olevansa Ethernet-sovittimia. En tiedä, saako niistä puheominaisuutta kaivettua esille, vaikka modeemipiirit sitä periaatteessa tukevatkin.

Sain Huawei E1552:n puheominaisuuden päälle dc-unlockerilla. Laitoin mokkulan toimimaan FusionPBX:n kanssa, jossa vastaava softapalikka on mod_gsmopen. Oletan, että kaikki sen tukemat mokkulat toimivat myös chan_donglen kanssa.

Premicell on GSM-lankapuhelinsovitin ja niin Aatamin aikaista teknologiaa, etten sen suhteen vaivautuisi.
Taidan kallistua fusionpbx:ään luettuani sen dokumentaatiota, vaikuttaa monipuolisemmalta kuin freepbx. VOitko pistää jotain dokumentaationtynkää tai ohjetta miten sait tuon toimimaan. Fusionpbx:n dokumentaatio puhuu gatewaysta, jonka kautta puhelut ulkoverkkoon kulkevat, ilmeisesti gatewayna tässä toimii tuo mod_gsmopen
 
Taidan kallistua fusionpbx:ään luettuani sen dokumentaatiota, vaikuttaa monipuolisemmalta kuin freepbx. VOitko pistää jotain dokumentaationtynkää tai ohjetta miten sait tuon toimimaan. Fusionpbx:n dokumentaatio puhuu gatewaysta, jonka kautta puhelut ulkoverkkoon kulkevat, ilmeisesti gatewayna tässä toimii tuo mod_gsmopen

Mod_gsmopen on todella se FreeSwitchin palikka, jolla Huawei-mokkula alkoi toimimaan. Niillä ohjeilla menin, ei siinä sen kummempaa. Pientä hässäkkää oli, kun koodi ei kääntynyt Raspberry Pi:lla, mutta AMD-prossulla varustetussa HP:n kevytpäätteessä se alkoi toimimaan.
 
Pienenä päivityksenä edelliseen, että tein oman GSM-yhdyskäytävän ja sain sen jopa toimimaan. Palvelimena on FreePBX 16/Asterisk 20 ja sen rautana Raspberry Pi 3B+. Paritin Android-kännykkäni Bluetoothilla raspberryyn. Kännykkä on määritelty trunkiksi Asteriskin chan_mobile-moduulin avulla. Sekä tulevat että lähtevät puhelut toimivat, eli voin vastata kännykkänumerooni soitettuihin puheluihin vanhalla Ericsson Dialog-lankapuhelimella ja jopa soittaa ulos samaisella näppäinpuhelimella. Puhelinvanhus on Linksys PAP2-analogisovittimen takana, joka tekee siitä SIP-digitaalisen. Vähän harmittaa, ettei vielä vanhempi bakeliittipuhelimeni osaa soittaa ulos, sillä tuo PAP2 ei ymmärrä pulssivalinnan päälle.
 
Näitä virityksia on tullut tehtyä parikin. Ensimmäisessä harjoituksessa käytin yhdyskäytävänä Nokia Premicelliä. Viimeisessä käytin Asteriskin sijasta FusionPBX:ää (alla FreeSWITCH), jossa oli Huawei E1552-mokkula 3G-yhdyskäytävänä. Asteriskin chan_mobile-palikkaa en koskaan saanut kunnolla toimimaan. Siinä oli äänenlaatuongelmia ja vasteajatkin olivat surkeita. Taisi olla juuri Nokia 6600-symppari silloin käytössä. Huawein mokkula toimi mainiosti ja saattaa toimia edelleenkin. Sen puheominaisuudet piti avata maksullisella hakkerisoftalla.
Ehkä tyhmä kysymys, mutta miten tuo Mod_gsmopen liitetään fusionpbx:n gatewayksi, webbikäyttöliittymä kyselee gatewayn ip osoitetta ja mitään selkeää valintaa mistä voisin valita mobuulin gatewayksi ei ole, en ole vielä kääntänyt moduulia, kunhan ihmettelen.
Edittiä
Tutkin hieman lisää ja mitään selkeää asennuspolkua ei näyttäisi olevan tuolle moduulille, miten itse asensit sen ja löytyykö tuolle jokin fusionpbx:n githubarkisto
 
Viimeksi muokattu:
Ei näyttäisi tuo mod_opengsm kääntyvän uusimmalla debianilla miten @epollari sait sen asennettua fusionpbx:ään
Antaa seuraavanlaisia virheitä loputtomasti

256 | SMSStatusReportMessage(std::string pdu) throw(GsmException);
| ^~~~~
/usr/include/gsmlib/gsm_sms.h:315:40: error: ISO C++17 does not allow dynamic exception specifications
315 | SMSCommandMessage(std::string pdu) throw(GsmException);
| ^~~~~
/usr/include/gsmlib/gsm_sms.h:367:46: error: ISO C++17 does not allow dynamic exception specifications
367 | SMSDeliverReportMessage(std::string pdu) throw(GsmException);
| ^~~~~
/usr/include/gsmlib/gsm_sms.h:430:45: error: ISO C++17 does not allow dynamic exception specifications
430 | SMSSubmitReportMessage(std::string pdu) throw(GsmException);
| ^~~~~
make[3]: *** [Makefile:747: mod_gsmopen_la-gsmopen_protocol.lo] Error 1
make[3]: Leaving directory '/usr/src/freeswitch-1.10.11/src/mod/endpoints/mod_gsmopen'
make[2]: *** [Makefile:731: mod_gsmopen-all] Error 1
make[2]: Leaving directory '/usr/src/freeswitch-1.10.11/src/mod'
make[1]: *** [Makefile:798: mod_gsmopen] Error 2
make[1]: Leaving directory '/usr/src/freeswitch-1.10.11/src/mod'
make: *** [Makefile:4337: mod_gsmopen] Error 2
 
Ei näyttäisi tuo mod_opengsm kääntyvän uusimmalla debianilla miten @epollari sait sen asennettua fusionpbx:ään
Antaa seuraavanlaisia virheitä loputtomasti

256 | SMSStatusReportMessage(std::string pdu) throw(GsmException);
| ^~~~~
/usr/include/gsmlib/gsm_sms.h:315:40: error: ISO C++17 does not allow dynamic exception specifications
315 | SMSCommandMessage(std::string pdu) throw(GsmException);
| ^~~~~
/usr/include/gsmlib/gsm_sms.h:367:46: error: ISO C++17 does not allow dynamic exception specifications
367 | SMSDeliverReportMessage(std::string pdu) throw(GsmException);
| ^~~~~
/usr/include/gsmlib/gsm_sms.h:430:45: error: ISO C++17 does not allow dynamic exception specifications
430 | SMSSubmitReportMessage(std::string pdu) throw(GsmException);
| ^~~~~
make[3]: *** [Makefile:747: mod_gsmopen_la-gsmopen_protocol.lo] Error 1
make[3]: Leaving directory '/usr/src/freeswitch-1.10.11/src/mod/endpoints/mod_gsmopen'
make[2]: *** [Makefile:731: mod_gsmopen-all] Error 1
make[2]: Leaving directory '/usr/src/freeswitch-1.10.11/src/mod'
make[1]: *** [Makefile:798: mod_gsmopen] Error 2
make[1]: Leaving directory '/usr/src/freeswitch-1.10.11/src/mod'
make: *** [Makefile:4337: mod_gsmopen] Error 2

Aikaa on kulunut kahdeksan vuotta kun viimeksi käänsin kyseistä softaa. Näyttää siltä, että nykykääntäjä tykkää kyttyrää vanhasta koodista. Dynamic exceptionit eivät ole tuettuina C++-kääntäjän 17-versiossa. Voisit yrittää C++14-kääntäjää, mutta muita ongelmia voi olla tiedossa. Mod_opengsm-ohjeissa mainitaan kyllä Debian 12. Täytyy myöntää, etteivät erityisohjeet oikein vakuuta.
 
Aikaa on kulunut kahdeksan vuotta kun viimeksi käänsin kyseistä softaa. Näyttää siltä, että nykykääntäjä tykkää kyttyrää vanhasta koodista. Dynamic exceptionit eivät ole tuettuina C++-kääntäjän 17-versiossa. Voisit yrittää C++14-kääntäjää, mutta muita ongelmia voi olla tiedossa. Mod_opengsm-ohjeissa mainitaan kyllä Debian 12. Täytyy myöntää, etteivät erityisohjeet oikein vakuuta.
Sain tämän onneksi ratkaistua, lähti kääntymään tunkkailemalla seuraavia tiedostoja
cd /usr/src/freeswitch-1.10.11/src/mod/endpoints/mod_gsmopen
sed -i 's/throw([^)]*)//g' gsmopen_protocol.cpp
En sitten tiedä onko tuo kovin elegantti ratkaisu, mutta nyt toimii.
 
Tulipa askarreltua vanhojen tölkkien kanssa, eli Elisa kotiboksi ARV4510PW. Openwrt löytyy tuohon ja kun ottaa 19.07.10 version niin muisti riittää Asterisk:in ajoon.

Eli asenna
https://downloads.openwrt.org/relea...ay-arcadyan_arv4510pw-squashfs-sysupgrade.bin

Laite asetukset niin että pääset verkkoon

Asterisk asennus:
opkg install asterisk16 asterisk16-chan-lantiq asterisk16-chan-sip asterisk16-codec-a-mu asterisk16-codec-alaw asterisk16-codec-resample asterisk16-codec-ulaw asterisk16-res-rtp-asterisk asterisk16-pjsip nano


Poista turhat ajosta, eli disabloi uhttp, dmesg, firewall yms. jotta muisti riittää Asterisk:ille. Säädä Lantiq ajuri kuntoon, eli /etc/asterisk/lantiq.conf:
[interfaces]
;
; Number of FXS ports (default: 2)
channels = 2
;
; Create contexts per channel (default: off)
per_channel_context = on
;
; Set tapi firmware file path
;firmwarefilename = /lib/firmware/danube_firmware.bin
;
; Set tapi bbd file path
;bbdfilename = /lib/firmware/danube_bbd_fxs.bin
;
; Set vmmc device path
;basepath = /dev/vmmc
;
[general]
;
; Gain setting for the receive and transmit path.
; The value is given in dB within the range (-24dB to +12dB), in 1 dB steps.
;
rxgain = -10
txgain = -10
Gain asetus -10 on sopiva lyhyille piuhoille, vakio 1 aiheuttaa kiertoa jos ei ole kilometritolkulla lakua puhelimelle. Teoriassa tuolla +12 asetuksella saa sen ~10km johdon toimimaan.

Lopuksi vielä /etc/asterisk/extensions.conf
[from-internal]

;PHONE 2
exten = 102,1,Answer()
same = n,DIAL(TAPI/1,30,t)
same = n,Hangup()

;PHONE 1
exten = 101,1,Answer()
same = n,DIAL(TAPI/2,30,t)
same = n,Hangup()

[ltq1_out]
exten => _[+1-9]!,1,Dial(local/${EXTEN}@from-internal/n)

[ltq2_out]
exten => _[+1-9]!,1,Dial(local/${EXTEN}@from-internal/n)

[lantiq1]
include => ltq1_out

[lantiq2]
include => ltq2_out
Buuttaa loota, kytke Phone 1/2 liittimiin lankapuhelmet. Phone 1:sestä voi soittaa kakkoseen numerolla 102 ja toisinpäin 101.

Lootaan voi kytkeä SIP ja PJSIP kautta SIP puhelimia tai yhteyden eteenpäin normi Asterisk conffeilla.
 
Pieni lisäys vielä tähän, eli ARV4510PW ja chat-lantiq TAPI osaavat yhdessä HW pohjaiset koodekit ja linjan koodaukset. Tukee sekä pulssi että DTFM numeronvalintaa. Voi käyttää vanhoja numerovalintakiekolla olevia puhelimia ja uudempia näppäinpuhelimia. Erityisesti kiekkopuhelimien numerot dekoodataan luotettavasti jota erilaiset äänikorttipohjaiset SW räpellykset ei osaa. Sopivalla gain-tasolla äänenlaatu on hyvä vaikka lootassa on ihan mopo CPU, ääni ei ala pykimään kun pysyy ulaw tai alaw koodekkeissa.
 
Jos joku muu inostuu kaivamaan kaapisto kotibokseja niin tässä on näemmä kaksikin "omainaisuutta". Eka on muistin vähyys, eli tuolta saa pistää kaikki dnsmasq ja wpad myöten pois ajosta että asterix ei kaadu. Toinen on sitten tämän laatikon cpu, eli DanubeLantiq. Dualcore cpu:n toinen core on varattu puhtaasti voip-käyttöön ja kun se on 24/7 ajossa niin cpu vaatiikin jäähdytyksen. Elisa on jättänyt siilin pois joten sellaisen sinne joutuu askartelemaan. Kuumetessaan CPU sotkee flash muistin ja kaatuu siihen.

Mutta muuten tuo 19 sarjan openwrt ja 16 sarjan asterisk on toimiva setti, ollut ajossa nyt muutamanpäivän ja on nyt toimintavarma. Softasip puhelimet kännyköissä ja pari kotiboksia SIP yhteydellä sekä neljä lankapuhelinta. Toimiva puhelinjärjestely jos tuollaiselle on tarvetta.
 
Tulipa askarreltua vanhojen tölkkien kanssa, eli Elisa kotiboksi ARV4510PW. Openwrt löytyy tuohon ja kun ottaa 19.07.10 version niin muisti riittää Asterisk:in ajoon.

Tuosta pitäisi myöntää urhoollisuusmitali.

Säästin vanhempien Elisa kotiboksin samaa tarkoitusta varten, mutta sisu petti ja päädyin Raspberryyn. Vaikka kyseessä on vanhempi RPi, FreePBX 17 ja Asterisk 21 toimivat ongelmitta. Puhelimina on bakeliittinen Suomi-Siemens valintalevyineen ja Ericsson Diavox-näppäinpuhelin. Nämä Grandstream HT-802:n takana. Lisäksi on Cisco 7960G ja 8851 IP-puhelimet.

Kiva kuulla, että Elisa kotiboksi toimii kiekkopuhelimien kanssa. Jos kotiboksi löytyy varastosta, voisin tehdä siitä vaikka puhelinkeskuksen vanhuskäyttöön.

OpenWrt:n ja Asteriskin asensin kerran TP-Link TP-MR3040-mobiilireitittimeen. Extroot-konffiksen se vaati muistitikkuineen, mutta se toimi edelleen myös Wifi-reitittimenä. Puhelimina olivat Nokian sympparikännyt, joissa nätisti integroitu SIP/VoIP-clientti. Demosimme sillä mobiilimainospalvelua, mutta eniten aikaa meni selittelyyn, että miten mobiiliverkko saadaan mahtumaan tupakka-askin kokoiseen laitteeseen.

Jos keksit käyttöä Cisco 7960G:lle, se joutaisi.
 

Statistiikka

Viestiketjuista
255 121
Viestejä
4 435 908
Jäsenet
73 485
Uusin jäsen
ramboaslak

Hinta.fi

Back
Ylös Bottom