Saanko pyytää - tee Asteriskista ja Ekigasta HOWTO. Se olisi hienoa.
Ajattelin itseasiassa päivittää tuon Asterisk-koneeni joko Debianiksi tai Ubuntuksi. Tästä, jos valinta sattuu Ubuntulle, voisin tietysti jotain väsätä.
Ekigan liittäminen valmiseen asteriskiin on melko suoraviivaista. Alla kuitenkin melko sekavalta vaikuttava konfiguraatio, jossa Ekigalla voi soittaa ja vastaanottaa VoIPBusterin kautta myös lankapuheluita. Ekiga-tunnukselle voi soittaa myös kuka tanansa numeroon sip:123@asterisk_palvelmen_ip_tai_hostname. Tuo esimerkkini on nyt sillä tavalla hauska, että sillä voi soittaa kaikkiin Suomen ja kymmenisen muun maan lankaliittymiin ilmaiseksi. Tai no, vaatii 10€ pantin maksamisen VoIPBusterille. Sen 10€ voi tietysti kuluttaa esim. kännykkäliitymiin tai muihin maksullisiin numeroihin. Pelkkä parin Ekiga-clientin konffis on jopa suoraviivaisempi
Asteriskin sip.conf:iin laitetaan:
; VoIPBusterille rekisteröinti
register => vb_tunnus:vb_salasana@sip1.voipbuster.com/123 ; Perässä Ekigan extensio
; Kaikkille netistä tulleille puheluille oletuskontekstiksi vb_in, jossa vain Ekiga-tunnus
default=vb_in
; Ekigalle
[tunnus]
type=friend
username=tunnus ; Tässä minulla siis Ekigan käyttäjätunnuksena "tunnus" kuten yllä.
callerid="User Name" <123>
;md5secret=e310fb1fcee34ac029f319c912dd574fb0 ; En ole kokeillut Ekigaa md5secretillä toimii kyllä muilla clienteillä hyvin. Tuo secret on puppaa.
secret=salasana
host=dynamic
qualify=yes
; Äänikodekit
disallow=all
allow=ulaw
allow=alaw
; Videokodekit
allow=h261
allow=h263
allow=h263p
nat=route
context=ekiga ; Tähän sopiva konteksti, jolla voi esim. soittaa lankapuheluita Voipbusterin kautta. Tämä siis viittaa extension.conf:in kontekstiin.
; Alla VoIPBusterin kautta lankaliitymiin meneville puheluille oma osionsa. Täsää tunnus ja salasana on siis tunnus ja salasana VoIPBusterille.
[voipbuster_out]
type=friend
username=vb_tunnus
secret=vb_salasana
host=sip1.voipbuster.com
realm=sip1.voipbuster.com
fromuser=vb_tunnus
fromdomain=sip1.voipbuster.com
context=vb_in
canreinvite=no
insecure=very
qualify=1000
nat=yes
dtmfmode=rfc2833
disallow=all
allow=alaw
allow=ulaw
extension.con:iin vastaavasti:
[ekiga]
;Sisäiset puhelut
exten => 123,1,Dial(SIP/tunnus,20,tr)
exten => 123,2,VoiceMail,u123@ekiga
exten => 123,103,VoiceMail,b123@ekiga
; Echo test
exten => 600,1,Playback(demo-echotest) ; Let them know what's going on
exten => 600,2,Echo ; Do the echo test
exten => 600,3,Playback(demo-echodone) ; Let them know it's over
exten => 600,4,Hangup
include => vb_out ; Lisätään puhelut VoIPBusterin kautta ulos
[vb_out]
; Puhelut lankaliitymiin VoIPBusterin kautta
exten => _00ZZZXXX.,1,Dial(SIP/${EXTEN}@voipbuster_out,,Tr)
[vb_in]
; Tässä oikeastaan pitäisi olla vb_tunnuksen sijaan "123". Ei ole tullut testattua.
exten => vb_tunnus,1,Dial(SIP/tunnus,20,tr)
exten => vb_tunnus,2,VoiceMail,u123@ekiga
exten => vb_tunnus,103,VoiceMail,b123@ekiga
Ekigassa olen kertonut yo. tunnuksen, salasanan ja palvelimen nimen. Katso ao. kuva. Koska koneet on samassa privaatti LANissa, en käytä STUNia tai mitään NAT-asetuksia Ekigassa. Sitä vastoin Asteriskissa pistän aina nat=yes tai nat=routed. Tämän lisäksi kannattaa privaatti-verkossa laitaa canreinvite=no, jos nuo molemmat on tosiaan samassa NATatussa privaatti-LANissa.
Toimivuuden voi heti testata Asteriskin Echo-numerolla, jonka tuonne esimerkkeihin heitin ja josta myös seuraava kuva esimerkkinä. Myös videon tulee tuolloin näkyä "kaikuna" kuten kuvasta näkyykin. Se oma ruutu on hieman edellä takaisin tulevaa kuvaa, jos oikein hirveästi päätä heiluttaa
Sama pätee tietysti ääneen, joskin kaikua on vaikea huomata, koska juuri mitään viivettä ei samassa LANissa tai WLANissakaan synny.
Tuosta kuvasta näkyy käytetyt kodekit. Äänelle G.711 (konfiguraatiossa Asteriskille ulaw ja Ekigalle PCMU) ja videolle H.261.
Voisin kyllä väsätä hieman kattavammankin, oikean, selvityksen lähinnä Asteriskista. Sekin on melko suoraviivainen ottaa käyttöön, vaikka kynnys onkin melko korkea. Ja yo. konffia en ole testannut, mutta perusperiaate on tuo:
sip.confiin tunnus jossa kerrotaan konteksti. Se konteksti taas määritetään extension.onf:ssa, ja siellä määritetään tunnukselle extensio eli numero. sip.confiin myös esim. VoIPBusterista sisään tuleville ja ulosmeneville puheluille osio. Yksi riittää ja siinä kerrotaan vb-tunnus ja ja salana. Niille sopiva konteksti. Tässä kannattaa olla tarkkana, koska äkkiä päästää koko maailmaan, soittamaan tunnuksillaan minne vain. Siksi pistin VB:lle oman kontekstin vb_in, josta voi soittaa vain Ekiga-tunnukselle. Laitoin myös default=vb_in. Tänne ohjautuu siis VoIPBusterin lisäksi kaikkialta netistä tulevat puhelut, joille ei ole määritelty omaa kontekstia.
Jos haluaa käytää Ekigaa ilman Asteriskia lankapuheluihin, niin heitää siihen Ekigaan suoraan nuo VB-tunnukset ja palvelimeksi sip1.voipbuster.com. Tällöin ei kuitenkaan onnistu kuvapuhelut VoIPBuster-tunnusten välillä. Ilman omaa Asteriskia ne onnistuu ekiga.net:in kautta. Tai sitten suorina PC2PC-puheluina oli palveluntarjoaja mikä hyvänsä. Suorissa PC2PC-puheluissa pitää tietää vastapuolen kenties vaihtuva IP. PC2PC-puheluissa tulee myös ottaa huomioon palomuuriin tarvittavat reiät. Normaalit tilalliset palomuurit ei vaadi erillistä konffausta kun käytetään ulkopuolista palvelinta.
Oma Asterisk vaatii oletuksena palomuurista avattaviksi UDP:lle 5060 ja 10 000 - 20 000. Nuo on koffatavissa Asteriskista myös ihan miksi porteiksi sitten haluaakin.
Terveisin,
-T