Skript für telefonieren und Voicemail? Hilfe

Winterwolf

Neuer User
Mitglied seit
21 Okt 2004
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Hmm

Code:
[default]
include=user

[user]
include=mailbox
exten => _.,1,Macro(var,SIP/${EXTEN})

[macro-var];
exten => s,1,Dial(${ARG1},30)
exten => s,2,Voicemail(u${MACRO_EXTEN})
exten => s,3,Hangup

[mailbox]
exten => 9999/_[1-9].,1,Answer
exten => 9999/_[1-9].,2,Wait(1)
exten => 9999/_[1-9].,3,VoicemailMain2(s${CALLERIDNUM})
exten => 9999/_[1-9].,4,Hangup
So hab ich das nun eingetragen aber wenn ich 9999 wähle sagt Asterisk mir folgendes =

Code:
Asterisk Ready.
*CLI>     -- Executing Macro("SIP/111-30a4", "var|SIP/9999") in new stack
    -- Executing Dial("SIP/111-30a4", "SIP/9999|30") in new stack
Nov  4 10:29:39 WARNING[1112767280]: chan_sip.c:1375 create_addr: No such host: 9999
Nov  4 10:29:39 NOTICE[1112767280]: app_dial.c:742 dial_exec: Unable to create channel of type 'SIP'
  == Everyone is busy/congested at this time
    -- Executing VoiceMail("SIP/111-30a4", "u9999") in new stack
Nov  4 10:29:39 WARNING[1112767280]: app_voicemail.c:1517 leave_voicemail: No entry in voicemail config file for '9999'
    -- Executing Hangup("SIP/111-30a4", "") in new stack
  == Spawn extension (macro-var, s, 3) exited non-zero on 'SIP/111-30a4' in macro 'var'
  == Spawn extension (default, 9999, 1) exited non-zero on 'SIP/111-30a4'
    -- Executing Macro("SIP/111-30a4", "var|SIP/h") in new stack
    -- Executing Dial("SIP/111-30a4", "SIP/h|30") in new stack
Nov  4 10:29:51 WARNING[1112767280]: chan_sip.c:1375 create_addr: No such host: h
Nov  4 10:29:51 NOTICE[1112767280]: app_dial.c:742 dial_exec: Unable to create channel of type 'SIP'
  == Everyone is busy/congested at this time
    -- Executing VoiceMail("SIP/111-30a4", "uh") in new stack
Nov  4 10:29:51 WARNING[1112767280]: app_voicemail.c:1517 leave_voicemail: No entry in voicemail config file for 'h'
    -- Executing Hangup("SIP/111-30a4", "") in new stack
  == Spawn extension (macro-var, s, 3) exited non-zero on 'SIP/111-30a4' in macro 'var'
  == Spawn extension (default, h, 1) exited non-zero on 'SIP/111-30a4'
 

rajo

Admin-Team
Mitglied seit
31 Mrz 2004
Beiträge
1,958
Punkte für Reaktionen
0
Punkte
36
include => mailbox
include => user
 

Winterwolf

Neuer User
Mitglied seit
21 Okt 2004
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Würdest du mich bitte schlagen ;)

Danke es klappt. Super, echt geil ;)

Nochmals vielen Dank an alle. Das ihr so geduldig mit mir wahrt/seit ;)
Vielen lieben Dank. :D :wink:

EDIT:

Wenn ich nachträglich eine ISDN Karte einbauen will muss ich dann Asterisk neu kompielieren? Ein Freund erzählte mir das, wenn keine vorhanden ist das System die nicht mit ein Kompiliert???
 

Winterwolf

Neuer User
Mitglied seit
21 Okt 2004
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
sry für den doppelpost aber... Hilfe?
 

rajo

Admin-Team
Mitglied seit
31 Mrz 2004
Beiträge
1,958
Punkte für Reaktionen
0
Punkte
36
Winterwolf schrieb:
sry für den doppelpost aber... Hilfe?
Was für eine ISDN-Karte soll es denn sein?
FritzCard? HFC-basierte Karte?

Und: Was für eine Linux-Distribution verwendest Du nochmal?

(siehe ggf. auch die Asterisk ISDN mit HFC / CAPI - Foren hier)
 

Winterwolf

Neuer User
Mitglied seit
21 Okt 2004
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Also die ISDN Karte die hier in dem System drinne ist, ist eine Fritzcard.
Und über die würd ich mich gern bei "irgendeinem VoIP Provider einwählen" (vermutlich sipgate).

Linux Distribution ist (leider) ein Redhat 9.0 System. (Aber ich selbst hab ein Debian und Slackwaresystem :))
 

rajo

Admin-Team
Mitglied seit
31 Mrz 2004
Beiträge
1,958
Punkte für Reaktionen
0
Punkte
36
Winterwolf schrieb:
Also die ISDN Karte die hier in dem System drinne ist, ist eine Fritzcard.
Und über die würd ich mich gern bei "irgendeinem VoIP Provider einwählen" (vermutlich sipgate).

Linux Distribution ist (leider) ein Redhat 9.0 System. (Aber ich selbst hab ein Debian und Slackwaresystem :))
Also: für sipgate brauchst Du keine ISDN-KArte, ansonsten brauchst Du für ISDN + Fritz + Asterisk einmal ISDN im RedHat (CAPI-Skripte installieren und CAPI-Module im Kern laden) und dann den chan_capi treiber von www.junghanns.net, der dann die CAPI-Anbindung zum Asterisk herstellt.
 

Winterwolf

Neuer User
Mitglied seit
21 Okt 2004
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Ähm irgendwie hab ich gerade bis auf ISDN, Fritz, Asterisk kein Wort verstanden ;)
 

rajo

Admin-Team
Mitglied seit
31 Mrz 2004
Beiträge
1,958
Punkte für Reaktionen
0
Punkte
36
Winterwolf schrieb:
Ähm irgendwie hab ich gerade bis auf ISDN, Fritz, Asterisk kein Wort verstanden ;)
also, nochmal laaaaangsaaaam zum miiitschreiiiben ;)

1. Du richtest Die Fritz-Karte mit den CAPI-Treibern von AVM im Linux ein (Keine Ahnung wie das jetzt bei RedHat genau geht, noch nie dort gemacht)

2. Du laedst dir chan_capi von www.junghanns.net herunter (capi fuer asterisk) und installierst das

3. Du konfigurierst dann das capi im Asterisk und kannst lostelefonieren.


Sowas ist einmal auch inder VoIP-FAQ und hier im Asterisk ISDN mit CAPI-Forum beschrieben.

Schau einfach mal rein und wenn Du dann Probleme mit der CAPI-Karte hast, poste die einfach dort :)


Gruss,
Rainer
 

Winterwolf

Neuer User
Mitglied seit
21 Okt 2004
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Hmm leider hat sich das "vorerst" mal erledigt da ich hier nicht testen kann ob es funktioniert.

Aber nochmal zurück zu den extensions.conf .... ich hätte da gerne eine Menu davor wo man selektieren kann =
1. Extern Telefonieren. (CAPI über Telefonanlage)
2. Intern Telefonieren. (SIP)

Und die Sip Telefone sollen von aussen über die Durchwahl erkennbar und erreichbar sein.

Nochmal neben bei eine Verständnis Frage....

Sip -> asterisk -> ISDN -> ISDN-Telefonanlage ->

Das funktioniert mit einer ISDN Capi? Auch mit mehr als einem Anrufer gleichzeitig? Oder Brauch ich dafür eine ISDN HFC Karte?

Was ist der unterschied zwischen Capi und HFC? *kann man das essen :p *

Frage deswegen mal nach weil ich hier im Forum was gelesen hatte was mich etwas verwirrt hat.

____________________

Ähm Hallo?
 

schuelsche

Neuer User
Mitglied seit
22 Dez 2004
Beiträge
46
Punkte für Reaktionen
0
Punkte
0
Hallo,

nachdem ich mich jetzt hier durch den Thread gebissen habe, weil mich die Konfiguration von Macros interessiert, ist bei uns folgende sip.conf und folgende extensions.conf vorhanden:

sip.conf
Code:
[general]
port=5060
binaddr=0.0.0.0
;externip=X.X.X.X ; (oder Adresse, bspw. user.dynalias.org)
srvlookup=yes
nat=yes
localnet=0.0.0.0
context=default
disallow=all
allow=gsm
allow=alaw
allow=ulaw
tos=0x18
dtmfmode=info
insecure=very
register=>USER1:[email protected]/45 ; Zugang user1
register=>USER2:[email protected]/47 ; Zugang user2

[webde-user1]
type=friend
secret=PASSWORT1
username=USER1
host=sip.web.de
fromuser=USER1
fromdomain=sip.web.de
nat=no
;context=default ; kann auskommentiert werden, da schon in der [general] context=default steht
canreinvite=no
insecure=very

[webde-user2]
type=friend
secret=PASSWORT2
username=USER2
host=sip.web.de
fromuser=USER2
fromdomain=sip.web.de
nat=no
canreinvite=no
;context=default ; kann auskommentiert werden, da schon in der [general] context=default steht
insecure=very

[45]
type=friend
username=45
secret=PASSWORT ; nur Clientzugang für Softphone am *
host=dynamic
qualify=yes
context=webde-user1
nat=yes

[47]
type=friend
username=47
secret=PASSWORT ; nur Clientzugang für Softphone am *
host=dynamic
qualify=yes
context=webde-user2
nat=yes
extensions.conf
Code:
[general]
static=yes
writeprotect=no

[default]
include=>user
include=>mailbox
include=>webde-user1
include=>webde-user2

[user]
exten=>_.,1,Macro(var,SIP/${EXTEN})

[macro-var]
exten=>s,1,Dial(${ARG1},30)
exten=>s,2,Voicemail(u${MACRO_EXTEN})
exten=>s,3,Hangup

[mailbox]
exten=>9999/_[1-9].,1,Answer
exten=>9999/_[1-9].,2,Wait(1)
exten=>9999/_[1-9].,3,VoicemailMain2(s${CALLERIDNUM})
exten=>9999/_[1-9].,4,Hangup

[webde-user1]
exten=>_0.,1,Dial(SIP/${EXTEN:1}@webde-user1,60)
exten=>_0.,2,Congestion
exten=>_0.,102,Busy

[webde-user2]
exten=>_8.,1,Dial(SIP/${EXTEN:1}@webde-user2,60)
exten=>_8.,2,Congestion
exten=>_8.,102,Busy
Wenn ich nun den User 45 anrufe, dann funktioniert das. Wenn ich (User 47) mich selber anrufe, dann lande ich auch auf der Mailbox.

Allerdings kann ich nicht über die 9999 die Mailbox anrufen, so wie das ja von Euch beschrieben wurde.
Wenn ich von 47 aus die 9999 anrufe, dann bekomme ich im asterisk folgende Fehlermeldung:

Code:
Jan 14 12:32:11 WARNING[1117219760]: chan_sip.c:1348 create_addr: No such host: 9999
Jan 14 12:32:11 NOTICE[1117219760]: app_dial.c:727 dial_exec: Unable to create channel of type 'SIP'
  == Everyone is busy/congested at this time
    -- Executing VoiceMail("SIP/47-be69", "u9999") in new stack
Jan 14 12:32:11 WARNING[1117219760]: app_voicemail.c:1927 leave_voicemail: No entry in voicemail config file for '9999'
    -- Executing Hangup("SIP/47-be69", "") in new stack
  == Spawn extension (macro-var, s, 3) exited non-zero on 'SIP/47-be69' in macro 'var'
  == Spawn extension (default, 9999, 1) exited non-zero on 'SIP/47-be69'
    -- Executing Macro("SIP/47-be69", "var|SIP/h") in new stack
    -- Executing Dial("SIP/47-be69", "SIP/h|30") in new stack
Jan 14 12:32:11 WARNING[1117219760]: chan_sip.c:1348 create_addr: No such host: h
Jan 14 12:32:11 NOTICE[1117219760]: app_dial.c:727 dial_exec: Unable to create channel of type 'SIP'
  == Everyone is busy/congested at this time
    -- Executing VoiceMail("SIP/47-be69", "uh") in new stack
Jan 14 12:32:11 WARNING[1117219760]: app_voicemail.c:1927 leave_voicemail: No entry in voicemail config file for 'h'
    -- Executing Hangup("SIP/47-be69", "") in new stack
  == Spawn extension (macro-var, s, 3) exited non-zero on 'SIP/47-be69' in macro 'var'
  == Spawn extension (default, h, 1) exited non-zero on 'SIP/47-be69'
    -- Executing Macro("SIP/47-b1df", "var|SIP/9999") in new stack
    -- Executing Dial("SIP/47-b1df", "SIP/9999|30") in new stack
Jan 14 12:32:29 WARNING[1117219760]: chan_sip.c:1348 create_addr: No such host: 9999
Jan 14 12:32:29 NOTICE[1117219760]: app_dial.c:727 dial_exec: Unable to create channel of type 'SIP'
  == Everyone is busy/congested at this time
    -- Executing VoiceMail("SIP/47-b1df", "u9999") in new stack
Jan 14 12:32:29 WARNING[1117219760]: app_voicemail.c:1927 leave_voicemail: No entry in voicemail config file for '9999'
    -- Executing Hangup("SIP/47-b1df", "") in new stack
  == Spawn extension (macro-var, s, 3) exited non-zero on 'SIP/47-b1df' in macro 'var'
  == Spawn extension (default, 9999, 1) exited non-zero on 'SIP/47-b1df'
    -- Executing Macro("SIP/47-b1df", "var|SIP/h") in new stack
    -- Executing Dial("SIP/47-b1df", "SIP/h|30") in new stack
Jan 14 12:32:29 WARNING[1117219760]: chan_sip.c:1348 create_addr: No such host: h
Jan 14 12:32:29 NOTICE[1117219760]: app_dial.c:727 dial_exec: Unable to create channel of type 'SIP'
  == Everyone is busy/congested at this time
    -- Executing VoiceMail("SIP/47-b1df", "uh") in new stack
Jan 14 12:32:29 WARNING[1117219760]: app_voicemail.c:1927 leave_voicemail: No entry in voicemail config file for 'h'
    -- Executing Hangup("SIP/47-b1df", "") in new stack
  == Spawn extension (macro-var, s, 3) exited non-zero on 'SIP/47-b1df' in macro 'var'
  == Spawn extension (default, h, 1) exited non-zero on 'SIP/47-b1df'
Was sagt mir das? Wo habe ich den Fehler gemacht?

In der sip.conf ist nichts bezüglich der Mailbox eingetragen. Wenn ich in der sip.conf (!) diesbezüglich was eintragen müsste, wie muss das dann aussehen? In der sip.conf stehen doch eigentlich nur die Clients, die sich über ein Telefon am Asterisk anmelden. Damit hat die Voicebox doch nichts zu tun?

Wo liegt der Fehler?

Grüssse
schuelsche
 

rajo

Admin-Team
Mitglied seit
31 Mrz 2004
Beiträge
1,958
Punkte für Reaktionen
0
Punkte
36
schuelsche schrieb:
In der sip.conf ist nichts bezüglich der Mailbox eingetragen. Wenn ich in der sip.conf (!) diesbezüglich was eintragen müsste, wie muss das dann aussehen? In der sip.conf stehen doch eigentlich nur die Clients, die sich über ein Telefon am Asterisk anmelden. Damit hat die Voicebox doch nichts zu tun?
Nun, in der Tat ist die voicemail.conf für die Mailboxen an sich zuständig, d.h. dort solltest Du mailboxnr, pin, ggf. email-addrese zur Weiterleitung der voicemailbenachrichtigung als mail etc. eintragen. Aber dann musst Du den einzelnen Teilnehmern in der sip.conf auch eine Mailbox zuweisen. Geht mt mailbox=mailboxrufnummer. Irgendwoher muss ja asterisk auch wissen welchem User welche Mailbox gehört ;)
 

schuelsche

Neuer User
Mitglied seit
22 Dez 2004
Beiträge
46
Punkte für Reaktionen
0
Punkte
0
Aber er springt in meiner Konfiguration gar nicht in das 9999-Menü hinein. Ich bekomme immer die Fehlermeldung, wenn ich dann die 999945 anrufe, dass der host 999945 nicht gefunden wurde. Klar, den gibts ja auch nicht. Er sollte ja das 9999 wohl wegstreichen und dann die 45-Mailbox anwählen.

Ein show diaplan user zeigt mir auch folgendes:
[ Context 'user' created by 'pbx_config' ]
'_.' => 1. Macro(var|SIP/${EXTEN}) [pbx_config]

Include => 'mailbox' [pbx_config]
Also ruft er ja das Mailbox-Skript erst nach dem Macro auf. Sollte das nicht umgekehrt sein? Sonst ist ja logisch, dass er immer die 9999 benutzt, weil er ja sofort in das Macro reinspringt.

Kann jemand nochmal die ganze extensions.conf posten, die so funktioniert, wie hier beschrieben?

Grüsse
schuelsche
 

rajo

Admin-Team
Mitglied seit
31 Mrz 2004
Beiträge
1,958
Punkte für Reaktionen
0
Punkte
36
schuelsche schrieb:
Aber er springt in meiner Konfiguration gar nicht in das 9999-Menü hinein. Ich bekomme immer die Fehlermeldung, wenn ich dann die 999945 anrufe, dass der host 999945 nicht gefunden wurde. Klar, den gibts ja auch nicht. Er sollte ja das 9999 wohl wegstreichen und dann die 45-Mailbox anwählen.
nananana... andersrum :)
Du darfst nicht die 999945 anrufen sondern von der 45 aus die 9999. Das was hinter dem / bei der 9999 steht wird durch die Calleridnum ersetzt, sprich durch die Rufnummer des Anrufenden. D.h. sobald Du von der 45 die 9999 anrufst, landest Du in der mailbox für TN 45 (so dort denn auch eine in voicemail.conf/sip.conf definiert ist), wählst Du die 9999 von TN 46 aus an, landest Du in der VM für TN 46.

So ist das gedacht :)
 

C.Krawczyk

Neuer User
Mitglied seit
17 Jan 2005
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
ist das Problem des sechsten Posts gelöst?

habe nähmlich exakt die gleiche Fehlermeldung... was mir auffällt ist, dass * hier:
Code:
 -- Executing Macro("SIP/47-be69", "var|SIP/h") in new stack
 -- Executing Dial("SIP/47-be69", "SIP/h|30") in new stack
nach einem "h" sucht, da müsste eigentlich die Durchwahl stehen, oder?