Asterisk als client

berndR

Neuer User
Mitglied seit
15 Feb 2005
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
hallo leute,
ich arbeite an einem projekt, dass sich mit vxml beschäftigt. ich verwende derzeit PublicVoiceXML als voicebrowser, leider unterstützt dieser kein VoIP. da VoIP aber ein MUSS für mein Projekt ist, erscheint es mir sinnvoller, einen vxml-interpreter in asterisk zu integrieren. leider bin ich ein neuling in sachen asterisk und bring es nicht fertig, asterisk als voip client zu betreiben. es werden ausschliesslich eingehende anrufe behandelt, und je nach gewählter durchwahl eine bestimmte applikation ausgeführt.

meine frage ist nun folgende:

was ist die minimale asterisk-konfiguration, wenn asterisk als sip-client hinter einem voip-proxy betrieben werden soll?
 
Hallo & willkommen
was ist die minimale asterisk-konfiguration, wenn asterisk als sip-client hinter einem voip-proxy betrieben werden soll?
Nun, Du installierst einfach auf irgendeinem Linuxrechner Asterisk und fertig. Mit ISDN brauchst Du Dich nicht herumzuärgern, alles was interessiert sind für Dich die sip.conf und extensions.conf.

Und wenn Du den * als sip-client irgendwo anbinden willst, dann geht das in der sip.conf prinzipiell genau so wie bei jedem anderen sip-provider auch.

Verrat doch einfach mal das genaue Setup das Du vorhast incl. den Konfigs die Du evtl. schon probiert hast und woran es hakt. Dann schaun wir weiter :)
 
dies ist meine konfiguration:

bernd@note:/etc/asterisk> more sip.conf

;************** Protocol definitions ***************
[general]
;----------- general setup
port = 5060
bindaddr = 0.0.0.0
tos = none
;----------- codecs setup
allow = all
;----------- other options
srvlookup = yes
context = default
;----------- register to peers

;********************* Users ***********************
[tattletale]
username = 79
accountcode = 79
host = sip-reg.utanat.at
secret = ****
context = testdtmf
fromuser = 79
login = 79
type = user


;******************* END OF FILE *******************

wobei secret das wirkliche passwort ist.

bernd@note:/etc/asterisk> more extensions.conf

;***************** General options *****************
[general]
static=yes
writeprotect=yes
;******************* Globals values ******************
[globals]

;******************** DIAL PLAN ********************

;------------------------
[testdtmf]
exten => i,1,Goto(testdtmf|s|1)
exten => s,1,Background(beep)
exten => s,2,ResponseTimeout(60)
exten => t,1,Hangup
exten => _x,1,SayDigits(${EXTEN})
exten => _x,2,Goto(testdtmf|s|1)
;-------------------------

;------------------------
[outgoing]
exten => _1NXXNXXXXXX,1,Dial(IAX2/MY_DEVICE_LOGIN:[email protected]/${EXTEN})
exten => _1NXXNXXXXXX,102,Dial(IAX2/MY_DEVICE_LOGIN:[email protected]/${EXTEN})
;-------------------------

;------------------------
[arbitrary-name]
exten => _NXXNXXXXXX,1,Playback(beep)
exten => _NXXNXXXXXX,2,SayDigits(${EXTEN})
exten => _NXXNXXXXXX,3,Goto(testdtmf|s|1)
;-------------------------

;******************* END OF FILE *******************

als vergleich: in kphone (voip-softphone) habe ich folgene konfiguration:

benutzerteil der sip url: 79
hostteil der sip url: telesis.utafon.at
ausgehender proxy: sip-reg.utanet.at:5082
benutzername: 79

asterisk im betrieb sagt dann folgendes:

*CLI> sip debug
SIP Debugging Enabled

*CLI> sip reload
Reloading SIP
== Parsing '/etc/asterisk/sip.conf': Found

*CLI> sip show users
Username Secret Accountcode Def.Context ACL NAT
tattletale **** 79 testdtmf No RFC35

*CLI> sip show inuse
Username incoming Limit outgoing Limit
tattletale 0 N/A 0 N/A

wenn ich mit meinem kphone (unter einer anderen nummer) nun versuche, mein asterisk anzurufen, passiert garnichts. (kphone funktioniert zumindest auf mein handy)

woher weiss ich, ob zumindest die anmeldung am sip-reg.utanet.at funktioniert hat?

besten dank im voraus
bernd
 
also, wenn ich * am sip-reg.utanat.at anmelden soll, dann in der sip.conf im general ein register => username:passwort@host/lokale_extension
verwenden.

Dann könntest Du unter [tattletale] noch fromdomain auch auf den namen des Sip-Proxys setzen. Weiterhin könnte noch type=friend nützlich sein, da sonst Anrufe nur in eine Richtung gehen.

anschliessend sollte "sip show registry" zeigen, dass Asterisk am Proxy angemeldet ist.
 
note:/etc/asterisk # more sip.conf

[general]
port = 5060
bindaddr = 0.0.0.0
tos = none

allow = all

srvlookup = yes
context = default

register => 86:***:mad:telesis.utafon.at/86

[tattletale]
username = 86
accountcode = 86
host = sip-reg.utanet.at
secret = ***
context = default
fromuser = 86
login = 86
type = friend
fromdomain=sip-reg.utanet.at

;******************* END OF FILE *******************

note:/etc/asterisk # more extensions.conf

[general]
static=yes
writeprotect=yes

[globals]

[default]
exten => s,1,Playback(vm-goodbye)

;******************* END OF FILE *******************

*CLI> sip show registry
Host Username Refresh State
telesis.utafon.at:5060 86 24 Registered

es scheint, als wäre * registriert :)
und es scheint, als ob auch irgendwelche anrufe rein kommen, wenn ich nämlich in der extensions.conf den [default]-bereich rausnehme, kommt

Feb 16 15:36:04 NOTICE[22313]: pbx.c:1318 pbx_extension_helper: Cannot find extension context 'default'

und anschliessend das signal von "kein anschluss..."

wenn ich aber den [default]-bereich wie oben im extensions.conf drin hab, kommt NUR das signal von "kein anschluss..." ohne die meldung in der asterisk-console.

die zeile

exten => s,1,Playback(vm-goodbye)

müsste doch passen oder? Jedenfalls das File existiert.

bernd@note:~> ls /var/lib/asterisk/sounds/vm-goodbye.gsm
/var/lib/asterisk/sounds/vm-goodbye.gsm

fehlt hier noch ein eintrag in der extensions.conf für den [tattletale]?
das "sip show history" krig ich auch nicht hin, * sagt mir nur, dass es den angegeben channel nich findet.

*CLI> sip show history sip/tattletale
No such SIP Call ID starting with 'sip/tattletale'
*CLI> sip show history tattletale
No such SIP Call ID starting with 'tattletale'
*CLI> sip show history sip:tattletale
No such SIP Call ID starting with 'sip:tattletale

gruss
bernd
 
problem gelöst !!!

note:/etc/asterisk # more sip.conf

[general]
port = 5060
bindaddr = 0.0.0.0
tos = none
allow = all
disallow=g723
srvlookup = yes
context = default

register => 86:***:mad:telesis.utafon.at/86

;******************* END OF FILE *******************


note:/etc/asterisk # more extensions.conf

[general]
static=yes
writeprotect=yes

[globals]

[default]
exten => 86,1,Playback(alpsennerei)

;******************* END OF FILE *******************

Nachdem * bei SIP-Provider registriert war, bekam ich bei jedem Anruf

SIP/2.0 404 Not Found

Nachdem ich die Extension von

exten => s,1,Playback(alpsennerei)

in

exten => 86,1,Playback(alpsennerei)

geändert hab, hat's mehr oder weniger funktioniert. ich hab dann noch ein paar meldungen bezüglich nicht funktioierender codecs bekommen, das war aber lediglich nur noch ein versuchen was möglich ist und was nicht. deshalb die zeile "disallow=g723" in sip.conf.

das heisst also, dass ich lediglich 3 zeilen in 2 files brauche:

in sip.conf:

disallow=g723
register => 86:***:mad:telesis.utafon.at/86

und in extensions.conf:

exten => 86,1,Playback(alpsennerei)

that's it! :wink:

danke noch

gruss bernd
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.