SearchWiki:
Freie IT-Beratung
 Rolf Winterscheidt
http://www.rowi.net

Main.SideBar (edit)

Rolf

||align=center ||||

Scirocco

Das Scirocco-Wiki ist nun unter: http://wiki.sciroccoforum.de

IP-Telefonie

SecondLife

Weitere Themen

Das Passwort zum Ändern von Seiten ist der Firmenname links neben dem Vogel, was auch gleichzeitig der Domainname ist.

Impressum: http://www.rowi.net
Recent Changes Printable View Page History Edit Page

Asterisk als IP-Telefonanlage einsetzen

Professionelle Hilfe zu Asterisk gibt es hier:


Ich werde die Asterisk-Sektion in Unterbereiche aufteilen, hier habe ich schonmal damit angefangen, weitere folgen. Bis alles umgebaut ist, gibt es den Rest auf der Seite hier ohne Unterbereiche.

Ein guter Start (in englischer Sprache) zur Einrichtung von Asterisk ist hier: http://www.voip-info.org/tiki-index.php?page=Asterisk

Das aktuelle Changelog findet sich hier: ftp://ftp.asterisk.org/pub/asterisk/ChangeLog

compilieren

extensions - Nebenstellen einrichten

IAX-Verbindung

AbgehendeRufnummerFestlegen

WakeupCalls - Automatische Anrufe von Asterisk

Faxempfang

Applications

Toene - Deutsche Signalisierung unter Asterisk

Funktionen

Pickup - Anrufe per Pickup von anderem Apparat holen

RealTime - Konfiguration aus einer Datenbank heraus

VoiceMail - Konfiguration der Voiceboxen (Realtime, MySQL?)

Meetme - Konferenzen unter Asterisk

Meetme2 - Erweiterte Konferenzen unter Asterisk mit MeetMe2?

H323 - Manche Provider mögen lieber noch das alte H.323-Protokoll

TE410P - 4-fach PMX Karte (120 Kanäle)

BriStuff - HFC-Karten mit Bristuff installieren

Clusterisk - Asterisk im Cluster

AGI - Eigene Skripte oder Programme in Asterisk

astcc - Prepaid-Billing für Useraccounts

Lastverhalten - Wieviele User können gleichzeitig telefonieren?

ManagerAPI - Manager-Interface

ServerUeberwachung - Einfache gegenseitige Überwachung von Asterisk-Servern

SoundKonvertierung - Konvertieren von MP3? oder WAV zu GSM für Asterisk

Fehlersuche - Wenn mal etwas nicht funktioniert


Live-CDs? von Asterisk

Unter http://www.automated.it/asterisk gibt es eine von CD bootbare Version von Asterisk inkl. Betriebssystem (Red-Hat Linux). Da auf der fertigen CD keine Konfigurationsdaten gespeichert werden können, holt sich Asterisk diese von einem USB-Stick. Keine schlechte Idee, denn ein Austausch defekter Hardware dauert hier nur noch Sekunden. Die CD ist immer gleich, da dort keine Konfigurationsdaten gespeichert werden, somit ist auch ein Update der Asterisk-Version simpel: Neue CD einlegen und wenn das nicht gefällt, die alte CD rein, botten, fertig. Es gibt auch eine Version, die nur auf einem USB-Stick (oder CF-Karte) läuft. Ich kann mich derzeit noch nicht ganz damit anfreunden, da die Daten dort, im Gegensatz zu einer gebrannten CD veränderbar sind. Meiner Ansicht nach sollten nur die Konfigurationsdaten änderbar sein. Da ohnehin in kurzen Abständen neue Versionen von Asterisk erscheinen, plädiere ich doch ziemlich stark für die Live-CD-Lösung.

Noch eine Live-CD: http://asteriskathome.sourceforge.net

Geschafft

...bin ich doch ein wenig, nachdem die Beispielkonfiguration für diese Software-Telefonanlage für Linux-Rechner doch etwas zu gross ausgefallen war und ich mir meine Bestandteile dann doch eher von anderen Webseiten zusammensuchen musste.

Jetzt funktioniert sie, d.h. ich bin von einem ganz normalen Festnetztelefon (oder auch Handy oder wie auch immer) unter der 0211-58007207 erreichbar. Da das aber Geld kostet und die Internet-Telefonie erst richtig Spass macht, wenn dem nicht mehr so ist, bin ich auch über Sipgate und Nikotel erreichbar (siehe http://voice.rowi.net). Per Sipgate (http://www.sipgate.de) bin ich auch über o.g. Nummer im IP-Netz erreichbar.

Die Konfiguration von Asterisk war letztlich doch simpler, als ich Anfangs gedacht hatte. Man muss einfach das Konzept verstehen, dann klappt das auch. Kleinigkeiten wie folgender Eintrag haben mich etwas Mühe gekostet:

_callerid="Rolf <4242>"_

Wo ist das Problem? Nun, mit den Anführungszeichen kommt Asterisk überhaupt nicht klar, also muss der Eintrag so heissen:

_callerid=Rolf <4242>_

Leichte Lösung, wenn man es denn erkennt.

Ich werde später mehr berichten über Mailboxen, Gateways usw. Derzeit bin ich einfach nur froh, dass ich mittlerweile Sipgate wie auch Nikotel nutzen kann (kommend wie auch gehend, soweit es das Guthaben zulässt ;-)).

Asterisk und Debian

Von einer Webseite:

Getting started I recently started playing around with asterisk. It has gotten pretty mature since the project started, the only problem is, that the configuration and documentation has to be collected at various places. There is a draft of version 2 of the handbook, but that was not as fullfilling, as i would have wanted. I started out with the available Debian version in unstable (Sid) and installed that. It has some bugs though, that have to be fixed first.

    * The directory for the cdr-cvs logfile it not created. You will have to do that manually.

mkdir /var/log/asterisk/cdr-cvs chown asterisk.asterisk /var/log/asterisk/cdr-cvs

    * Also some of the symlinks in the Debian package are broken. Replace that with the correct one.

ln -sf /var/spool/asterisk/voicemail/default /var/spool/asterisk/vm ln -sf /var/spool/asterisk/vm /usr/share/asterisk/sounds/vm ln -sf /var/spool/asterisk/voicemail /usr/share/asterisk/sounds/voicemail

If you want to play around with some cvs-snapshots, then you can add the following Debian repositories:

	deb ftp://debian.marlow.dk/ sid asterisk
	deb-src ftp://debian.marlow.dk/ sid asterisk


Asterisk Allgemein

Mit _asterisk -r_ kommt man in die Kommandozeile.

Links:

Konfiguration

Bei der Debian-Distribution sind einige Einstellungen falsch, die korrigiert werden müssen: http://www.marlow.dk/tech/asterisk.php?noframe=yes

Beispielkonfigurationen:

Notwendige Konfiguration für Sipgate in /etc/asterisk/sip.conf

Asterisk Konfiguration

Die technischen Daten der sip.conf:

register => 800XXXX:sipgatepasswort@sipgate.de/800XXXX

[sipgate] type=friend username=800XXXX secret=sipgatepasswort host=sipgate.de fromuser=800XXXX fromdomain=sipgate.net nat=yes ;dtmfband=inband context=incomingsipgate canreinvite=no

Aus der extensions.conf :

[incomingsipgate] exten => h,1,Hangup exten => 800XXXX,1,Dial(SIP/internestelefon,20,tr)

[sipgate] exten => _9.,1,Dial(SIP/${EXTEN:1}@sipgate,30,tr) exten => _9.,2,Playback(invalid) exten => _9.,3,Hangup

Features in Asterisk einrichten

Ist die erste Hürde mal geschafft, dann geht es darum, schöne Dinge mit Asterisk zu machen. Diese werden hier beschrieben.

Wartemusik (Music on hold)

Wartemusik kann folgendermassen eingerichtet werden.
  • apt-get install mpg123
(ich habe die unstable genommen, Version 0.53-15. MPG123? ist zum Abspielen notwendig.)
  • In das Verzeichnis /var/lib/mohmp3/ einige (freie!) MP3?-Stücke kopieren.
  • In /etc/asterisk/musiconhold.conf zumindest die default-Zeile auskommentieren (Semikolon wegmachen).
  • /etc/init.d/asterisk restart
Fertig :-)

Deutsche Ansagen

Bislang hat das noch nicht bei mir geklappt, aber hier schonmal der Link zu den Soundfiles...

Anmerkung: Es gibt unter freie deutsche Prompts. Mit der Version 1.0 gab es noch kleinere Probleme, siehe z.B. Die Version 2.0 ist aber vollständig (und ebenfalss frei!). Einfach in /pfad/zu/asterisk/sounds/de auspacken und in den confs language=de eintragen (in der sip.conf z.B. unter [general]).

ISDN an Asterisk anschliessen (IP-PSTN-Gateway)

Am besten vergisst man wohl isdn4linux dabei und bedient sich des chan_capi von http://www.junghanns.net. (Derzeit keine weiteren Infos hierzu - Tests laufen...)

IAX-Verbindung zwischen zwei Asterisk-Servern

The following is a simple one-way setup that should work:

 ----------
 ServerA?:

 extensions.conf
 [some-context]
 exten => some-extension,1,Dial(IAX2/userid:password@192.168.1.250/extension@acontext) 

 ServerB?:

 iax.conf
 [userid]
 type=user
 secret=password
 context=acontext 

 extensions.conf
 [acontext]
 exten => extension,1,Dial(wherever)
 ----------

You can make the dial string more concise by putting a peer section in the iax.conf for ServerA?:

 ----------
 ServerA?:

 iax.conf
 [identifier]
 type=peer
 username=userid
 secret=password
 peercontext=acontext
 host=192.168.1.250

 extensions.conf
 [some-context]
 exten => some-extension,1,Dial(IAX2/identifier/extension)

 ServerB?:

 same as previous example.
 ----------

However, it is only in recent CVS versions (from 1.175 of chan_iax2.c on 2004/07/30) that it picks up the username as userid from the [identifier] section. In older versions it is still necessary to say Dial(IAX2/userid@identifier/extension). In fact, when experimenting I also found it necessary to say extension@acontext, even when peercontext= was set. I haven't yet fully investigated why.

If ServerB? is on a dynamic IP address, then host=192.168.1.250 must be replaced with host=dynamic. It is then necessary for ServerB? to register with ServerA? by including the following in ServerB?'s iax.conf:

 [general]
 register => identifier:password@123.123.123.123

where 123.123.123.123 is the IP address or hostname of ServerA?. Note that it is identifier:password, not userid:password. I've deliberately kept the various names different to show which is dependent on which. That's also why I have keep peer and user separate instead of using type=friend.

Bi-directional peering can be set up by swapping the above sections for ServerA? and ServerB?, changing names accordingly. With suitable choices of names, and the same secret in both directions, it is then possible to combine type=peer and type=user sections into a single type=friend, e.g.

 ----------
 ServerA? (static IP):

 iax.conf
 [serverB]
 type=friend
 host=dynamic
 username=serverA
 secret=password
 peercontext=from-serverA
 context=from-serverB
 qualify=yes
 notransfer=yes 

 extensions.conf
 [outgoing-to-B]
 ;exten => outextenB,1,Dial(IAX2/serverA@serverB/extenB@from-serverA)
 exten => outextenB,1,Dial(IAX2/serverB/extenB)
 [from-serverB]
 exten => extenA,1,Dial(wherever-on-A) 

 ServerB? (dynamic IP):

 iax.conf
 [general]
 register => serverB:password@serverA.name.or.ip
 [serverA]
 type=friend
 host=serverA.name.or.ip
 username=serverB
 secret=password
 peercontext=from-serverB
 context=from-serverA
 qualify=yes
 notransfer=yes 

 extensions.conf
 [outgoing-to-A]
 ;exten => outextenA,1,Dial(IAX2/serverB@serverA/extenA@from-serverB)
 exten => outextenA,1,Dial(IAX2/serverA/extenA)
 [from-serverA]
 exten => extenB,1,Dial(wherever-on-B)
 ----------

As I said, it ought to be possible to omit the context from the IAX2 Dial commands if peercontext= is specified. I will investigate further.

Hope this all helps!

Cheers Tony (softins)


Links:

     (4-Port card Sirrix.PCI4S0? with Asterisk support)
Edit Page - Page History - Printable View - Recent Changes - WikiHelp - SearchWiki
Page last modified on February 09, 2006, at 08:38 AM