Sitemap Contact

Asterisk IAX2 Configuratie voor SpeakUp

Naast SIP gebruikt SpeakUp ook het IAX protocol om verschillende asterisk centrales aan elkaar te koppelen. In dit document wordt uitgelegd hoe deze koppeling kan worden opgezet. Overigens heeft een SIP koppeling de voorkeur. Zie hiervoor de vergelijking van de connectiemogelijkheden.

SpeakUp heeft meerdere Asterisk servers waaraan gekoppeld kan worden. Uitgaande gesprekken kunnen naar elke server worden gerouteerd en inkomende gesprekken kunnen vanaf elke server binnenkomen.

Authenticatie

SpeakUp gebruikt een RSA-key om IAX verbindingen 'vanaf' SpeakUp te authenticeren en MD5 passwords om verbindingen 'naar' SpeakUp te authenticeren.

Voor inkomende calls moet de public key van SpeakUp, zoals hieronder vermeld, als speakup.nl.pub in de directory /var/lib/asterisk/keys worden geplaatst. De md5sum is 8c07da88c7e4fab9bb896770a1f4dd9c.

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1pSZqAxMIMLUooZpotsLzbObb
NgGCQTvSmnuLHNzb3OxKk1g9ovaVS59Dcba8yt1hLo4IdzM5Du2KiVrXuKcNNbQg
eXzxf9hkal+l4RJUuurycBAE9nSRn1n5nyUEwMA4+KuxI6DqCupKmmQB0SGX6COT
DOM8TRK4zNOScis+2QIDAQAB
-----END PUBLIC KEY-----

Met 'show keys' in de asterisk CLI kan worden geverifiëerd of de keys goed zijn geladen.

Configuratie

Een voorbeeld iax.conf staat hieronder. De volgende zaken moeten aan de eigen configuratie aangepast worden:

  • De accountnaam [speakup-<gebruikersnaam>] moet daadwerkelijk zo heten, want dat is de gebruikersnaam die door SpeakUp wordt gebruikt voor inkomende gesprekken. Als je gebruikersnaam 'test' is, wordt de naam van het account dus [speakup-test]
  • De inkeys=speakup.nl is de public key van SpeakUp (zie hierboven).
  • De context in [speakup] moet overeenkomen met een context in het dialplan.
  • De <gebruikersnaam> en <secret> worden door SpeakUp opgegeven.
  • De koppeling is een zogenaamde dynamische koppeling. Hiervoor is het noodzakelijk te registreren bij SpeakUp.
[general]
register => <gebruikersnaam>:<secret>@iax01.speakup.nl
register => <gebruikersnaam>:<secret>@iax02.speakup.nl
[speakup-<gebruikersnaam>]
type=friend
context=from-speakup

auth=md5,rsa
username=<gebruikersnaam>
secret=<password>

inkeys=speakup.nl
requirecalltoken=no  ; only for asterisk released after 09/09

disallow=all
allow=alaw
allow=ulaw
allow=gsm
allow=g726

transfer=mediaonly

[speakup01](speakup-<gebruikersnaam>)
host=iax01.speakup.nl

[speakup02](speakup-<gebruikersnaam>)
host=iax02.speakup.nl

Dialplan

Het callerid (nummer) dient te allen tijde een nummer te zijn dat aan het account gekoppeld is en dient in volledig internationaal formaat opgegeven te worden zonder voorloopnullen of +. Het te bellen nummer mag in regionaal, nationaal of internationaal formaat zijn.

[to-speakup]

exten = _X.,1,Verbose(1,Outbound call from [${CALLERID(num)}] to [${EXTEN}] via SpeakUp)
exten = _X.,n,Dial(IAX2/speakup01/${EXTEN},,,)


[from-speakup]

exten = _X.,1,Verbose(Inbound call from [${CALLERID(num)}] to [${EXTEN}] via SpeakUp)


Nummeronderdrukking

Het CallerID nummer moet altijd een geldig nummer bevatten. Nummeronderdrukking kan door als CallerID naam "Anonymous" te gebruiken:

exten = _X.,n,Set(CALLERID(name)=Anonymous)

 


Terug naar het overzicht