Innhold Telefoni førog etter VoIP Asterisk Intro Oppbygning Grensesnitt Eksempler Komme i gang Oppsummering Ordliste
3.
Magnus Espeland Bachelorof Network Computing Monash University, Melbourne, 2002 Utviklet og driftet flere større Asterisk systemer siden høsten 2002 Teknisk sjef Oyatel AS [email_address]
4.
Oyatel AS Etablertjuni 2005 Erfaring med Asterisk siden 2002 Leverer konsulenttjenester, produkter og telefoni Er med i BTV’s kompetanseutviklings prosjekt Eid av ICT Group og de ansatte
Før Dedikert kobbertil hvert abonnement Timeslots på linjene mellom sentraler Garantert båndbredde, timing og kvalitet A B C A B C A B C A Vår samtale
7.
Før Lokal abotil lokal sentral Routing mellom sentraler A -> B -> C A -> X (dersom stor trafikk mellom disse sentralene) Funksjonalitet ute i nettet NRDB (Norsk Referanse Database, nrdb.no) Routing mellom teleoperatører
8.
Etter Ikke dedikertmedium, går over IP Pakke nettverk Ingen garanti for noe som helst Pakketap (UDP) Latency QoS hjelper A B A A B C A Vår samtale B B C
Begynnelsen I 1999trengte Mark Spencer en liten telefonsentral til Linux Support Services. Han synes det var for dyrt å kjøpe en, så han bestemte seg for å lage en selv. Hardware fra Zapata i Mexico. Etter hvert begynte andre å bygge videre på programvaren han la ut på nettet.
12.
Nå Astricon, fleresteder, flere ganger i året Største stand på VON Spring 2006 Jon ’Maddog’ Hall (Linux International) : "I predict that over next three years, VoIP using an open-source solution, such as Asterisk; will generate more business than the entire Linux marketplace today".
13.
Er Asterisk klarfor oppgavene? Begynner å bli virkelig stabilt Relativt stabile interfacer Forking (openpbx.org) Utviklings kostnader
14.
Lisens Dobbel lisensiertGPL Kommersiell (bla pga patenter, G.729a, SS7) For å få kode inn i Asterisk må man enten Si fra seg copyright Gi Digium, fri tilgang til å bruke koden i sin kommersielle versjon av Asterisk, for alltid Legge til i Asterisk-Addons
Kjernen Bygd opprundt en kjerne (som Linux) Mange forskjellige modul klasser Channels (IAX, SIP, Zap) Codec / Format Resource / PBX Application / Functions CDR (Call Data Record) (litt overlapping)
17.
Channels Driver deforskjellige kanalene data kommer inn IAX – Inter Asterisk eXhange En nett, liten og enkel protokoll (men best!) SIP – Session Initiation Protocol Tusenvis av sider med RFC Varierende implementasjoner Dessverre svært utbredt
18.
Channels Zap –Zapata / Zaptel Hardware kort Fra 1 linje (FXS/FXO) Til 240 linjer (8 E1) Andre H.323, MGCP, Skinny, ALSA/OSS (forts.)
19.
Codec / FormatCodec er formatet på lyden som kommer fra en Channel Format er formatet på lyden som kommer fra en fil Støtter mange G.711 (aLaw/uLaw), G.723/726, G.729, GSM, iLBC, Speex, LPC10….
20.
PBX / ResourcePBX (mer om disse seinere) Config og Realtime (ARA) (mer seinere) Asterisk Extension Language (AEL) Resource Music on hold AGI Monitor
21.
Applications / FunctionsApplications MeetMe, Echo kobler til andre moduler Functions MD5 CallerID Math MYE overlapping mellom disse
22.
CDR Call DataRecords Billing osv, det som lagres om samtalen CVS Diverse SQL (ODBC, TDS, SQLite, PG) MySQL er i Asterisk-Addons, pga MySQL lisensen
23.
Konfigurasjon Filer iax.conf,sip.conf extensions.conf Hjertet i Asterisk – dialplan Mer etterpå Asterisk Realtime Architecture (ARA) Dialplan, bruker og konfigurasjons database
CLI Konsollen tilAsterisk Her kan man kontrollere stort sett alt Asterisk gjør, og få mye debug info Startes ved å kjøre ’asterisk –r ’
26.
Spool file Denenkleste måten å la eksterne programmer bruke Asterisk Kan bare brukes til å starte samtaler, og man angir begge ender av samtalen. Slik kan man gjøre en god del triks
27.
AGI Asterisk GatewayInteface Likt CGI for web Tenk på det som at STDIN og STDOUT er koblet til CLI (Asterisk konsollet) EAGI – Lar deg få raw lyd i en egen FH FastAGI – Kjør AGI scriptet på ekstern server (via TCP)
28.
AMI Asterisk ManagerInterface Manageren er en TCP socket (plaintext) Den dumper mange Events Man kjører Actions og får Responses fra den Mange ferdige pakker, både for Java, .NET, PHP og Perl (inkl POE)
29.
Debugging For ådebugge bruker jeg disse verktøyene CLI: set verbose n, set debug n, iax2 debug, .. Logfiler (feks /var/log/asterisk/messages) AGI: Åpne filehandle til en logfil, og skrive debug info dit (vansklig å debuge AGI script via CLI) AMI: Filtrere events, evt kjøre status kommandoer
The Dialplan! Deter her alt skjer (nesten) Denne angir hvordan samtaler skal routes og hvilke applikasjoner som skal kjøres mot dem Ligger i extensions.conf, eller lastes via ARA. Kan manipuleres via AMI. Man kan skrive logikken i AEL, slik at den blir mer oversiktlig. (Asterisk Extension Language) Eksempler…
32.
Konfigurasjon iax.conf ogsip.conf angir peers, users og friends Peer er en vi kobler oss til User er en som kobler til oss Friend er begge deler Man angir for eksempel hvilke dialplan context samtaler skal routes til
Basis eksempler Ringeut, se på CLI Spool fil mot playback(), se på CLI AMI – nc mot manager porten, se på events AGI –
35.
Fax to/from mailgateway Fax to/from whatever gateway Men dessverre: FoIP er ikke bra nok (timing og lydkvalitet) Bruk kommersielle produkter med T.38 support Spandsp + rxfax() / txfax() IAXModem + Hylafax Fax
36.
IVR Interactive VoiceResponse (tast 1 for ditt, 2 for datt) Bygge enkle rett i dialplan Bruke AGI til litt mer avanserte systemer Enklere å holde orden på mer avansert kode Enklere å bruke mot andre systemer (DB, mail, etc) Bruke AMI for virkelig avanserte systemer Kan ta tak i samtaler og flytte dem
Voicemail Bedre ennden du har? Integrasjon mot dine systemer Videresending til mail Store muligheter for tilpassede løsninger
39.
Telefonkø Hjelper ipeak situasjoner Kombiner med IVR (’Vi har fortiden nedetid på XX, feilen utbedres’) Diverse algoritmer for eksempel: Support personer Junior utviklere Senior utviklere
40.
Egen PBX Kanlivet ditt bli enklere med en? Ett nummer, routing etter regler Talemeny Telefonsvarer Konferanser Køing
41.
Service provider Enenkel måte å teste ut Asterisk på med liten risiko Mulige tjenester: IVR, VoIP Gateway, Fax, ...
CTI (Callcentergreier) Computer Telephony Interface Brukes mellom applikasjon og telefonisystem (for eksempel Asterisk) Trenger det egentlig å være forbeholdt callcenter lenger? NEI!
Brukere av AsteriskBriiz Telecom – Bruker kun Asterisk, og er åpene om det Andre mot privatmarkedet bruker SER + Asterisk (Asterisk til terminering, voicemail etc) Minst en stor callcenter aktør bruker asterisk i stor skala Buskerud fylkeskommune (se egen slide)
Hvordan få taki Asterisk Subversion http://svn.digium.com/svn/asterisk/trunk http://svn.digium.com/svn/asterisk/branches/1.2 FTP / HTTP http://ftp.digium.com/pub/ ftp://ftp.digium.com/pub/
50.
Asterisk@Home (nå Trixbox ) CentOS (Redhat fork) basert Sett inn CD, boot, og den overskriver HD på maskinen Mange features samt administrasjons verktøy ’ Automagisk’ installasjon av hardware
51.
Andre produkter DiptelPBX løsning, plassert lokalt hos kunde. Intel basert maskin med USB drive Bjørn og gjengen Utvikler GPL telefonsentral for bruk i det offentlige (og andre) Diverse internasjonale
52.
Ordliste AEL –Asterisk Extension Language (C-style extensions) AGI – Asterisk Gateway Interface (Som CGI for web) AMI – Asterisk Manager Interface (TCP socket til Asterisk) ARA – Asterisk Realtime Architecture (dialplan og config i database) CDR – Call Data Record (info lagret om samtaler i ettertid) CLI – Command Line Interface(?) CTI – Computer Telephony Interface (AMI wrapper for andre programmer) G.711 – 64kbits Codec for ISDN i Norge (aLaw / uLaw) G.729a – Kommersiell Codec (lite CPU, lite BW og god lydkvalitet) GSM – 8kbits (?) Codec for GSM nettet IAX – Inter Asterisk eXhange (bedre enn SIP) PBX – Private Branch eXhange (telefonsentral i bedriften) SIP – Session Initiation Protocol VoIP – Voice over IP
53.
Asterisk som hussentral11 kommuner på Sørlandet og Buskerud fylkeskommune skal sammen med et utvalg av bedrifter utvikle en komplett hussentralløsning basert på bl.a. Asterisk. Løsningen blir fritt tilgjengelig fra www.asterisk.no Info om prosjektet blir også lagt ut på asterisk.no.
54.
Ledig stilling!! Vitrenger mer folk! Stort marked, få aktører Ungt, energisk og spennende miljø Mulighet for eierskap i din egen jobb Spennende samarbeidspartnere!