asterisk unter windows'03, mit php schnittstelle und auch noch faxen

alphastudent

Neuer User
Mitglied seit
30 Mai 2008
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,

bin recht neu was asterisk betrifft und habe eigentlich garkeine ahnung :)
hab schon viel herum gesucht, aber so wirklich was gefunden habe ich eben nicht - womöglich, weil ich nicht so ganz weiß wonach ich suchen muss/sollte...
daher bitte nicht böse sein, wenn meine fragen recht plump und zum 100 mal gestellt sind :)

habe folgendes problem und suche einen geeigneten lösungsansatz:

in einem win2003 server ist eine isdn fritz!card eingebaut. weiters gibt es einen php-server darauf und eine "software" in php geskriptet, die addressen, etc verwaltet.
nun soll diese software also faxe empfangen und senden können. empfangene werden als pdf abgelegt und zu sendende werden als pdfs hochgeladen und an eine bestimmte kontaktadresse verschickt.

...dann hab ich viel im internet geschaut und hab gesehn, dass asterisk eine php schnittstelle hätte und es asterisk für win2003 gäbe. asterisk schon gesaugt :)

wie muss ich asterisk konfigurieren, dass
ich faxen kann und, dass
ich mit php das faxen steuern kann?
(alles unter win2003 version, versteht sich)
brauche ich bestimmte treiber, oder reicht der normale?

danke für jede hilfe
also links, tutorials, anleitungen, lösungen, BEISPIELE, ...

euer alphastudent

nochwas:
gibts ne gratis graphische oberfläche unter windows2003 für asterisk zum konfigurieren?
 
Zuletzt bearbeitet:
Hi und willkommen!

Das ist erst ein mal gar nicht mal so trivial.
Zweitens ist asterisk primär für Linux gedacht.
Es gibt zwar Portierung zu Windows die heisst aber AsteriskWin32.
Ich bin mir nicht sicher ob die Portierung bereits eine Fax-Unterstützung dabei hat. Aber die Trixbox Distribution hat sowas glaube ich von Anfang dabei. Da sprarst du sehr viel Zeit und Nerven.
Das Ganze kannst du dann in einer virtuellen Machine unter Windows laufen lassen, aber ... ohne die ISDN-Karten unterstützung. Oder du besorgst dir eine USB-ISDN-Karte, dann könnte es evtl. doch gehen.

Aber verusche erst mal die Windows Verision aus.
Allerdings denke ich mir, dass du dir vorher die komplette Asterisk-Anleitung von Betateilchen reinziehen musst, damit du begreifst was wie funktioniert.

Gruss

P.S. Ja, die Windows Version unterstützt den CAPI Channel und daher kann er Fax empfangen und versenden. Ein Beipiel ist auf der Seite im Bereich chan_capi zu finden. Anderswo im Internet natürlich auch. ;-)
 
danke dir,... aber ich bin immer noch weit weit weg von meinem ziel :)

hab seit meinem Post mal ein bisserl rumgespielt.
ich schaffe schon, dass ich mit php via socket ein wenig mit asterisk kommunizieren kann... hat zwar noch 100 kinderkrankheiten, aber naja...

allerdings, hab ich das erst mal auf einem rechner ausprobiert, der keine isdn karte drinnen hat, sondern nur eine netzwerkkarte.

wie configuriere ich nun auf meinen "isdn karten rechner" asterisk so, dass ich asterisk an die isdn karte anbinden kann?

wo finde ich eine ordentliche liste aller befehle plus beschreibung, oder kann ich die vom asterisk mit einem befehl lesen und in ne datei schreiben?

wie faxe ich nun?
also ein pdf nehmen und mit asterix verfaxen an eine nummer??

danke für weitere hilfe!!
 
Hi!

wie configuriere ich nun auf meinen "isdn karten rechner" asterisk so, dass ich asterisk an die isdn karte anbinden kann?

wo finde ich eine ordentliche liste aller befehle plus beschreibung, oder kann ich die vom asterisk mit einem befehl lesen und in ne datei schreiben?
Wie gesagt, zieh dir die Asterisk-Anleitung von Betateilchen (im Asterisk berreich zu finden) rein. Dann weisst du mehr.

wie faxe ich nun?
also ein pdf nehmen und mit asterix verfaxen an eine nummer??
Entweder hier in Forum die Hilfe bemühen oder z.B. unter www.voip-info.org nachschauen oder andere geGoogelte-Quelle.
Auf jeden Fall, um Fax'e zu verschicken muss man eine FAX-Datei vorher haben. Kein PDF, Word oder sonstiges! Nur Fax - sprich Bilddatei, schwarz-weiss, Tiff-Format mit höchstens 2D-Kodierung (keine LSZ oder wie die anderen heissen...).
Um PDF in Tiff/Fax umzuwandlen musst du entweder dir ein Treiber bzw. Programm schreiben oder eine fertiges, bereits vorhandenes nutzen.

Gruss

P.S. Wo ein Konfiguraionsbeispiel zu finden ist habe ich dir bereits oben geschrieben.
 
Okay, ich verstehe :)
Werde mir das mal alles durchlesen und wenn dann noch Fragen offen sind, dann meld ich mich wieder :)

Danke auf jeden Fall für die sehr nützlichen Infos, derweil.

Aplhastudent
 
Hallo Leute, und nun geht es weiter :)

habe mir das sehr ausführliche Handbuch von betateilche reingezogen und nun habe ich einige Fragen:

da ich wie gesagt blutiger anfänger bei diese sache bin, bitte nicht lachen, oder sauer reagieren - aber ich find die informationen nicht im internet - also danke ich auch für links und vor allem für weitere tolle beispiele.

  • Wie weiß Asterisk, welche Hardware er verwenden soll?
  • Wie binde ich meine ISDN Karte an, sodass Asterisk damit arbeiten kann?
  • Der Fax Eingang ist dann als Softphone zu verstehen?
  • Muss ich für den Faxeingang eine Mailbox erzeugen?
  • Wie kann ich diese Mailbox, falls das der richtige Weg wäre, als Faxeingang behandeln?
  • kann ich das alles über die CLI steuern? also fax sendne und mailbox auslesen?

Danke vorerst :)
ich wette aus den Antworten entstehen ganz neue Fragen.
 
ja da finde ich schon einiges, aber ich finde einfach nicht, wie man asterisk und die isdn karte verbindet!
geht das automatisch?
wie kann ich das testen?
wie komme ich drauf?
 
Du wirst also gerne mit dem Löffel gefüttert. ;-)

Gehst Du Google, gibst Du ein "asterisk windows isdn". Findest Du asteriskwin32. Klickst Du auf hardware, findest Du CAPI.

Aber: Asterisk unter Windows ist keine gute Idee, wenn das unbedingt sein muss dann mach das unter VMWare mit Asterisk unter Linux. Am besten bindest Du dann per SIP ein externes ISDN Gateway ein (Fritz!Box mit remote capi, Lancom VoIP, Patton, Mediatrix, Audiocodes, Ratotec) - evtl. geht das auch aus VMWare heraus per billigem USB Gerät mit HFC chipset, oder gar mit einer PCI Karte.
 
Zuletzt bearbeitet:
ja ich bin eben zu depat um im internet was gscheites zu finden :)
also isdn karte jetzt automatisch erkannt, nachdem ich den S0 angeschlossen hab ... vorher nur dummschei**

jetzt kann ich endlich anfangen, glaub ich - bekomme ungefähr 20.000 Fehler wenn ich auf der Leitung anrufe :)

werde wieder lästig, wenn ich was zum laufen gebracht habe. sorry für bulshiting before.
 
also ich bekomme es einfach nicht hin.

bekomme wenn ich auf der leitung anrufe im asterisk immer den fehlern:
Channel 'CAPI/ISDN1/-1' sent to invalid extension 's' in context 'default', but no invalid handler

in welchem file muss ich die extension 's' ändern? ich steh brutal auf der leitung und komme so gar nicht weiter.
 
Das ist doch einmal eine konkrete Frage, dem Manne kann geholfen werden! :)

1. In /etc/asterisk/capi.conf den Eintrag "context=default" suchen und in "context=capi-in" abändern
2. In /etc/asterisk/extensions.conf folgendes einfügen
Code:
[capi-in]
exten => _X.,1,NoOp(== Eingehender CAPI Anruf von ${CALLERID(num)} auf ${EXTEN} ==)
exten => _X.,n,Answer
exten => _X.,n,Wait(.5)
exten => _X.,n,Playback(beep)
exten => _X.,n,MusicOnHold
exten => _X.,n,HangUp
3. Asterisk neu starten
 
also das hat auch ned funktioniert.
hier mein capi.conf file:
Code:
;!
;! Automatically generated configuration file
;! Filename: capi.conf (/asterisk/etc/capi.conf)
;! Generator: AsteriskWin32 PBX
;! Creation Date: Tue Aug 23 13:34:09 2005
;!
[general]
nationalprefix = 0
internationalprefix = 00
txgain = 1.0
rxgain = 1.0
b3_block_size = 256
use_smoother = yes
max_bchans=2

;language=us      ;set default language
;ulaw=yes        ;set this, if you live in u-law world instead of a-law

;REMOTE CAPI Routers
[rcapi]
;debug = 1 ;rcapi debugging
;dcp = host:port   ;for ISDN-DCP Router
;bintec = host:port  ;for BINTEC Router RCAPI 

; interface sections ...

[ISDN1]          ;this example interface gets name 'ISDN1' and may be any
                 ;name not starting with 'g' or 'contr'.
;ntmode=yes      ;if isdn card operates in nt mode, set this to yes
isdnmode=msn     ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
                 ;when using NT-mode, 'DID' should be set in any case
incomingmsn=*,1111,2222    ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123  ;set a default caller id to that interface for dial-out,
                 ;this caller id will be used when dial option 'd' is set.
controller=1     ;capi controller number to use
group=1          ;dialout group
;prefix=0        ;set a prefix to calling number on incoming calls
softdtmf=on      ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on     ;in addition to softdtmf, you can use relaxed dtmf detection
accountcode=     ;Asterisk accountcode to use in CDRs
context=capi-in  ;context for incoming calls
;holdtype=hold   ;when Asterisk puts the call on hold, ISDN HOLD will be used. If
                 ;set to 'local' (default value), no hold is done and Asterisk may
                 ;play MOH.
;immediate=yes   ;DID: immediate start of pbx with extension 's' if no digits were
                 ;     received on incoming call (no destination number yet)
                 ;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
                 ;     info like REDIRECTINGNUMBER may be lost, but this is necessary for
                 ;     drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;echosquelch=1   ;_VERY_PRIMITIVE_ echo suppression
;echocancel=yes  ;EICON DIVA SERVER (CAPI) echo cancelation
                 ;(possible values: 'no', 'yes', 'force', 'g164', 'g165') 
echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
;echotail=64     ;echo cancel tail setting
;bridge=yes      ;native bridging (CAPI line interconnect) if available
;callgroup=1     ;Asterisk call group
;language=us     ;set language for this device (overwrites default language)
devices=2        ;number of concurrent calls on this controller
                 ;(2 makes sense for single BRI, 30 for PRI)

mein extensions.conf:
Code:
[general]

static=yes
TRUNK=CAPI
writeprotected=no
chan_capi.so=yes


[capi-in]
exten => _X.,1,NoOp(== Eingehender CAPI Anruf von ${CALLERID(num)} auf ${EXTEN} ==)
exten => _X.,n,Answer
exten => _X.,n,Wait(.5)
exten => _X.,n,Playback(beep)
exten => _X.,n,MusicOnHold
exten => _X.,n,HangUp



[default]

include => capi-in

und in modules.conf steht das:
Code:
;! Generator: PBX Manager
;!
[modules]
autoload = yes
load = res_adsi.so
load = res_monitor.so
load = res_musiconhold.so
load => res_features.so
load => chan_capi.so 

noload = chan_celliax.so
noload = app_queue.so

fehlermeldung ist wieder die gleiche
 
wenn ich in der capi-in session im extensions.conf file folgendes schriebe bekomme ich mal eine andere meldung:)
Code:
exten =>  s,1,Dial,CAPI/${ISDN1}:b${EXTEN}|30

unable to create channel of type CAPI (caused - 44 request chanel not available)
später
Timeout, but no rule in 't' context capi-in

am telefon bekomme ich dann das 'kein anschluss unter dieser nummer' pfeifen


nächster schritt war...
ich hab deine exten=> anweisungen mal so verändert, dass statt _X. immer s dort steht und dann bekomme ich (nun verbose 3) diese fehlermeldungen
Code:
Aug 12 16:19:50 VERBOSE[7220] logger.c:   == Starting CAPI/ISDN1/-4 at capi-in,,1 failed so falling back to exten 's'
Aug 12 16:19:50 DEBUG[7220] pbx.c: Function result is '0650#######'
Aug 12 16:19:50 VERBOSE[7220] logger.c:     -- Executing NoOp("CAPI/ISDN1/-4", "== Eingehender CAPI Anruf von 0650####### auf s ==") in new stack
Aug 12 16:19:50 VERBOSE[7220] logger.c:     -- Executing Answer("CAPI/ISDN1/-4", "") in new stack
Aug 12 16:19:50 VERBOSE[7220] logger.c:     -- Executing Wait("CAPI/ISDN1/-4", ".5") in new stack
Aug 12 16:19:50 VERBOSE[7220] logger.c:     -- Executing Playback("CAPI/ISDN1/-4", "beep") in new stack
Aug 12 16:19:50 VERBOSE[7220] logger.c:     -- Playing 'beep' (language '')
Aug 12 16:19:50 ERROR[7220] chan_capi_rtp.c: rtp struct is NULL
Aug 12 16:19:50 ERROR[7220] chan_capi.c: f.datalen(256) greater than space of frame_data(236)
Aug 12 16:19:50 ERROR[7220] chan_capi.c: did not read a whole frame
Aug 12 16:19:51 ERROR[7220] chan_capi_rtp.c: rtp struct is NULL
Aug 12 16:19:51 VERBOSE[7220] logger.c:     -- Executing MusicOnHold("CAPI/ISDN1/-4", "") in new stack
Aug 12 16:19:51 VERBOSE[7220] logger.c:     -- Started music on hold, class 'default', on CAPI/ISDN1/-4
Aug 12 16:19:51 ERROR[7220] chan_capi_rtp.c: rtp struct is NULL
Aug 12 16:19:51 ERROR[7220] chan_capi_rtp.c: rtp struct is NULL
...
 
Zuletzt bearbeitet:
Code:
exten =>  s,1,Dial,CAPI/${ISDN1}:b${EXTEN}|30
unable to create channel of type CAPI (caused - 44 request chanel not available)

1. Es scheint als hätte Deiner Änderung in capi.conf mit "context=capi-in" keine Wirkung, vermutlich hast Du Asterisk nicht neu gestartet ("restart now" nicht "reload"!)

2. Dein Versuch kann nicht funktionieren denn in diesem Moment ist EXTEN ja 's' und das ist keine Nummer die Du bei der Telekom wählen könntest.

Code:
exten =>  s,1,Dial,CAPI/ISDN1:b017212345678|30

wird funktionieren sofern Du noch einen freien B-Kanal zur Verfügung hast.
 
Zuletzt bearbeitet:
na habs mit restart now gemacht.

wieder:

unable to create channel of type CAPI (caused - 44 request chanel not available)

... ist das 0172... eine telfonnummer? oder was ist das?
 
Ja, das ist irgendeine Rufnummer, und ändere einmal ${ISDN1} in ISDN1, das ist ja keine Variable.
Hinter dem b muss natürlich auch das $ weg, falls es da noch steht.
 
Aber: Asterisk unter Windows ist keine gute Idee, wenn das unbedingt sein muss dann mach das unter VMWare mit Asterisk unter Linux. Am besten bindest Du dann per SIP ein externes ISDN Gateway ein (Fritz!Box mit remote capi, Lancom VoIP, Patton, Mediatrix, Audiocodes, Ratotec) - evtl. geht das auch aus VMWare heraus per billigem USB Gerät mit HFC chipset, oder gar mit einer PCI Karte.
So wird man aber definitiv KEIN Fax hinbekommen - dafür reicht das Timing von VMWare absolut nicht aus. Wenn, dann muss das Fax De-/Encoding schon außerhalb der VM gemacht werden, weiterverarbeiten kann man es dann problemlos.
'ne Aktive ISDN Karte mit onboard Fax Decoding wird das zB hinbekommen, aber keinesfalls HFC in der VM.

btw: ich kenne aber auch keine funktionierende remote capi Lösung, wo die ISDN Karte unter Windows betrieben wird - andersherum ja...

PS: generell ist das eh' keine besonders gute Idee hier, wenn der Server unbedingt unter Windows laufen muss, sollte man sich lieber 'ne Windows-Fax Server Software besorgen. Für Asterisk als Fax-Server würde ich mir lieber eine Linux-Maschine hinstellen.

Mario
 
Zuletzt bearbeitet:
tja, nur leider gibts die möglichkeiten halt nicht, die man gerne hätte :)

bei mir scheiterts derweil ja leider noch an den grundlagen wie ihr seht - hab das ganze konstrukt noch nicht so ganz verstanden, aber ich geb nicht ruh, bevor das nicht klappt :)

also bitte weiterhin kräftig unerstützen!!

danke euch,
alphastudent
 
Der Neue Abschnitt :)

Hallo alle zusammen,

habe nun einiges weiter gebracht und sehr sehr viel im internet gefunden und das meiste gelesen.

was ich bisherzusammengebracht habe:
ich kann einen eingehenden anruf weiterleiten - auf interne als auch auf externe telefone

problem ist nur, dass ich gar nix höre und den Fehler bekomme, dass rtp struct sei NULL.
allerdings unterstütze, laut internet meinung, AVM karten gar kein rtp.
und dann kommt die fehlermeldung
f.datalen(256) greater than space from frame_data(236)

wie kann ich rtp deaktivieren? (was ist rtp??)
was bedeutet der zweite fehler?

danke
 
Zuletzt bearbeitet:
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.