CTI Unterstützung für Linux Desktop

dobby

Neuer User
Mitglied seit
26 Jul 2005
Beiträge
26
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,

ich habe mit ASTTAPI (http://sourceforge.net/projects/asttapi/)
einen schönen Tapitreiber für Windows gefunden, mit dem ich
dann über Outlook wählen kann.

Nun hätte ich gerne etwas ähnliches für einen Evolution-Email-
Client der unter Debian mit Gnome läuft.

Ich habe aber für einen Linux Desktop bisher noch überhaupt nichts
gefunden.

Gibt's da (noch) nichts, oder habe ich einfach nicht gut genug
gesucht?

grüsse
dobby
 
Hi McRib,

ich wollt eigentlich folgende Funktionalität:

ich klicke einen Kontakt in Evolution an und sage "ANRUFEN".

Dann wird der Asterisk aktiv, ruft mein Telefon an und wenn ich
abhebe baut er die Nummer zu meinem angeklickten Kontakt
auf.

gruss
dobby
 
Hallo dobby,

könntest Du Deine extensions.conf posten und welche Einstellung Du unter dem Tapi-Treiber gemacht hast ?

Bei mir mir kommt immer der Fehler:

== Primary D-Channel on span 1 up for TEI 66
== Parsing '/etc/asterisk/manager.conf': Found
== Manager 'michael' logged on from 192.168.0.1
-- Requested transfer capability: 0x00 - SPEECH
Aug 4 17:14:40 NOTICE[22201]: channel.c:1877 __ast_request_and_dial: Don't know what to do with control frame 15
-- Lauching Dial(ZAP/g1/354872908003302424) on Zap/1-1
-- Requested transfer capability: 0x00 - SPEECH
-- Called g1/354872908003302424
-- Channel 0/2, span 1 got hangup
Aug 4 17:14:49 WARNING[22201]: app_dial.c:426 wait_for_answer: Unable to forward voice
-- Hungup 'Zap/2-1'
== No one is available to answer at this time
-- Hungup 'Zap/1-1'
== Manager 'michael' logged off from 192.168.0.1

Danke

Michael
 
Hallo Michael,

hier meine Notizen und meine Configs, Ich hoffe es hilft.

gruss
dobby


Mit dem Asterisk-TAPI-Treiber ASTTAPI von Omniis läßt sich die Wählhilfe von Microsoft Outlook einfach und effektiv mit dem Asterisk Server verbinden.

Nach der Installation des Asterisk TAPI-Treibers und dem unvermeidlichen Reboot von Windows muss Outlook geöffnte werden und anschliessen ein geeignter Kontakteintrag ausgesucht werden.

Auf dem gewählten Kontakteintrag drückt man die rechte Maustaste und wählt den Menüpunkt Kontakt anrufen aus.
In der Dialogbox Neuer Telefonanruf klickt man auf den Button Wähloptionen... um die Einstellungen für Asterisk vornehmen zu können.
In dem daraufhin erscheinenden Fenster Wähloptionen klicken wir in der Dropdown-Liste zur Einstellung

Über diese Leitung verbinden den Eintrag Asterisk aus und klicken anschließend den Button
Anschlussparameter...

Hier im Fenster Configure Asterisk TAPI Driver werden nun die eigentlichen Asterisk-Einstellungen vorgenommen. Die Felder haben dabei folgende Bedeutung (meine Werte in blauer Schrift):

Host
Die IP-Adresse des Rechners auf dem Asterisk läuft
192.168.0.201

Port
Der Port über den der Managementbefehl abgesetzt werden soll.
Default: 5038
5038

User
Ein Benutzername der für diese Aktion berechtigt ist. Der Eintrag über diesen Benutzer muß in der Asterisk Konfigurationsdatei /etc/asterisk/manager.conf hinterlegt sein.
dobby

manager.conf
Code:
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0

[dobby]
secret=mypassword
permit=0.0.0.0/0.0.0.0
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user

Passwort

Das Passwort des oben angegebenen Benutzers.
mypasword


User Channel
Die "Telefonnummer" des Arbeitsplatzes an dem der Computer steht.
Zap/g1/12


Inbound Chan
... (fand ich keine Verwendung für)

Context
Der Context in der extensions.conf der für die ausgehenden Anrufe genommen werden soll.
outgoing

CallerID
Die ID, die als Anrufer mitgegeben werden soll.
9555520

Outgoing Chan
Der Channel, der für die Anrufe genutzt werden soll. In diesem Beispiel ist er wegen der Angabe des Kontextes obsolet.

Meine Extensions.conf
Code:
[globals]
Spez_ext=0
Lamb_ext=2
Fax_ext=6

Spez_int=12
Lamb_int=12
Mobil_privat=55
Fax_int=9555526
Privatnummer=955570
Ulf=Zap/g1/12
Anja=Zap/g1/11
Beide_Telefone=Zap/g1/11&Zap/g1/12
Call_by_call_standard=01030


[outgoing]
include => parkedcalls                                          ; Voraussetzung, das Gespräche geparkt werden können.

; +---------------------------------------------------+
; | Reagieren wenn ein Telefon vermittelt werden will |
; +---------------------------------------------------+
exten => s,1,NoOp('Outgoing Context - Telephone picked up 1')

; +--------------------------------------+
; | NOTRUFNUMMERN IMMER DIREKT ÜBER ISDN |
; +--------------------------------------+
exten => 110,1,Dial(Zap/g2/${EXTEN})                            ; Notruf immer über ISDN
exten => 112,1,Dial(Zap/g2/${EXTEN})                            ; Feuerwehr immer über ISDN
exten => _0800X.,1,Dial(Zap/g2/${EXTEN})                        ; 0800er-Nummern direkt über ISDN
exten => _**X.,1,Dial(Zap/g2/${EXTEN:2},30,rtT)            ; mit 2 Sternen bewusst über ISDN

; +----------------------------------------+
; | Auslands und Mobilfunknummern über LCR |
; +----------------------------------------+
exten => _01[5-8].,1,Goto(LCR,${EXTEN},1)                       ; Deutsche Mobilfunknetze über Least Cost Routing
exten => _00.,1,Goto(LCR,${EXTEN},1)                            ; Auslandsgespräche über Least Cost Routing


; +-------------------------+
; |   Interne Gespräche     |
; +-------------------------+
exten => _ZX,1,ChanIsAvail(Zap/g1/${EXTEN})
exten => _ZX,2,NoOp("Channel is available")
exten => _ZX,3,Dial(Zap/g1/${EXTEN},20,rtT)
exten => _ZX,102,NoOp("Channel is busy")
exten => _ZX,103,busy
exten => t,1,Hangup


; +---------------------------------+
; |   M a i l b o x a b f r a g e   |
; |       a l l g e m e i n         |
; +---------------------------------+
exten => 25,1,Ringing
exten => 25,2,Wait(2)
exten => 25,3,SetLanguage(de)
exten => 25,4,VoicemailMain
exten => 25,5,Hangup

; +-------------------------------------------------+
; | Deutschlandgespräche im Fetnetz über 1und1 VoIP |
; +-------------------------------------------------+
exten => _0N.,1,Goto(flatrate,${EXTEN},1)                       ; Deutschlandgespräche über Flatrate (nicht lokal)
exten => _ZX.,1,Goto(flatrate,07555${EXTEN},1)                  ; Lokalgespräche über Flatrate

;+-----------------------------------------+
;|   L E A S T   C O S T   R O U T I N G   |
;+-----------------------------------------+
[LCR]
exten => _X.,1,Noop;
exten => _X.,2,SetCallerId,75559555520                                  ; "Absender" angeben
exten => _X.,3,AGI(CnumLookup.agi,${EXTEN})
exten => _X.,4,Noop('ENUM: ${ENUM}')
exten => _X.,5,Dial(${ENUM},60,rtT)                                     ; Falls VoIP-Route gefunden wurde
exten => _X.,6,Goto(2)
exten => _X.,54,NoOp('Dialing ${ENUM} over ISDN!!!')                    ; ENUM ist die Nummer incl. Call-b<-call-Nummer
exten => _X.,55,Dial(Zap/g2/${ENUM},60,rtT)                             ; und wird über den ISDN-Kanal gewählt
exten => _X.,56,Goto(2)
exten => _X.,104,Goto(301)
exten => _X.,105,Playback(vm-Old)                                       ; Fehler beim Ermitteln des LC-Anbieters
exten => _X.,106,Dial(Zap/g2/${Call_by_call_standard}${EXTEN},60,rtT)   ; Wahl mit standard LC-Anbieter
exten => _X.,107,Hangup
exten => _X.,156,Busy
exten => _X.,207,Busy


;+-----------------------------------------+
;|   T E L E P H O N E - F L A T R A T E   |
;+-----------------------------------------+
[flatrate]
exten => _X.,1,ChanIsAvail(SIP/${EXTEN}@1u1gate-out)            ; ist der SIP-Channel verfügbar
exten => _X.,2,SetCallerId,4975559555520                        ; "Absender" setzen
exten => _X.,3,Dial(SIP/${EXTEN}@1u1gate-out,90,tTrg)           ; call über 1und1 Phone-Flat
exten => _X.,4,Hangup
exten => _X.,102,Goto(402)                                      ; SIP-Channel war nicht verfügbar
exten => _X.,104,Busy
exten => _X.,105,Wait(10)
exten => _X.,106,Hangup
exten => _X.,402,ChanIsAvail(Zap/g2)                            ; ist die ISDN-Leitung verfügbar?
exten => _X.,403,Playback(pbx-invalid)                          ; Ansagetext wegen ISDN-Call
exten => _X.,404,Dial(Zap/g2/${Call_by_call_standard}${EXTEN},90,rtT)   ; Anruf über ISDN mit Standard Call-by-call-Anbieter
exten => _X.,405,Hangup
exten => _X.,503,Playback(all-circuits-busy-now)                ; auch ISDN war nicht verfügbar.
exten => _X.,504,Hangup
exten => _X.,505,Busy
exten => _X.,506,Wait(10)
exten => _X.,507,Hangup

[incoming]

exten => 6555558,1,Goto(business,${Spez_ext},1)                 ; SIPGATE-Nummer -> Businesscontext(0)
exten => 4975559555520,1,Goto(business,${Spez_ext},1)           ; 1und1 VOIP-Nummer -> Businesscontext(0)
exten => _955552[026],1,Goto(business,${EXTEN:-1:1},1)          ; 955552X -> Businesscontext(letzte Ziffer [0,2,6])
exten => ${Privatnummer},1,Goto(privat,${Privatnummer},1)       ; 955570 -> Privatcontext(955570)
exten => 9555524,1,Goto(privat,55,1)                            ;Privates Mobilteil

exten => t,1,Hangup

;+-----------------------------------+
;|   P R I V A T A N S C H L U S S   |
;+-----------------------------------+
[privat]
include => parkedcalls

exten => 55,1,Dial(Zap/g1/55,30,rtT)

exten => ${Privatnummer},1,Dial(${Anja},20,tT)
exten => ${Privatnummer},2,Voicemail(u955570)
exten => ${Privatnummer},102,Wait(2)
exten => ${Privatnummer},103,Voicemail(u955570)

[business]
include => parkedcalls

exten => ${Fax_ext} ,1,Dial(Zap/g1/${Fax_int})

exten => ${Spez_ext},1,Dial(${Ulf},20,tT)
exten => ${Spez_ext},2,Voicemail(u955552${Spez_ext})
exten => ${Spez_ext},102,Wait(2)
exten => ${Spez_ext},103,Voicemail(u955552${Spez_ext})

exten => ${Lamb_ext},1,Dial(Zap/g1/${Lamb_int},20,tT)
exten => ${Lamb_ext},2,Voicemail(u955552${Lamb_ext})
exten => ${Lamb_ext},102,Wait(2)
exten => ${Lamb_ext},103,Voicemail(u955552${Lamb_ext})

exten => t,1,Hangup


Hier noch meine CLI-Ausgabe:
Code:
  == Parsing '/etc/asterisk/manager.conf': Found
  == Manager 'dobby' logged on from 192.168.0.199
    -- Requested transfer capability: 0x00 - SPEECH
  == Primary D-Channel on span 1 up for TEI 76
  == Primary D-Channel on span 1 up for TEI 78
    -- Executing Goto("Zap/1-1", "flatrate|07555955590|1") in new stack
    -- Goto (flatrate,07555955590,1)
    -- Executing ChanIsAvail("Zap/1-1", "SIP/07555955590@1u1gate-out") in new stack
    -- Executing SetCallerID("Zap/1-1", "4975559555520") in new stack
    -- Executing Dial("Zap/1-1", "SIP/07555955590@1u1gate-out|90|tTrg") in new stack
    -- Called 07555955590@1u1gate-out
  == Manager 'dobby' logged off from 192.168.0.199
    -- SIP/1u1gate-out-fadc is making progress passing it to Zap/1-1
    -- Channel 0/1, span 1 got hangup
  == Spawn extension (flatrate, 07555955590, 3) exited non-zero on 'Zap/1-1'
    -- Hungup 'Zap/1-1'
 
Hallo dobby,

vielen Dank für Deine Infos. Die haben mir sehr geholfen. Nun läuft es auch bei mir :lol:

MS Outlook ignoriert, sobald die Nummer nicht mit +49 beginnt, die hinterlegte Amtskennziffer. MS eben.


Gruß
Michael
 
hey das Ding funzt ja supi nach Deiner Anleitung!

Gibt es sowas auch in Verbindung mit dem Mozilla Thunderbird?
Weiß da jemand was?

Gruss
Frank
 
Hi thepontifex,

hey das Ding funzt ja supi nach Deiner Anleitung!
Ja, ich war auch ganz begeistert.

Gibt es sowas auch in Verbindung mit dem Mozilla Thunderbird?
Da ich bei Mozilla Thunderbird für Windows keine TAPI Unterstützung gefunden habe, denke ich nicht. Aber vielleicht kommt das ja noch. Setzt Dich dich mal mit den Entwicklern in Verbindung.

Was mich etwas schmerzt, ist dass es für die Linux-Clients in der Richtung nichts zu geben scheint.
Oder weiss hier irgendjemand was???

gruss
dobby
 
Hallo,

ich nochmal - hatte mich schon zu früh gefreut.

(Ab und an verabschiedet sich mein XP mit einem Fehler in der svchost.exe)

Wenn ich die Tel.Nummern in Outlook z.B. auf +49 08152222 .. ändere, dann wählt asttapi, mit der Null für das Amt, nach Außen.

Das Problem ist, dass ich mein Handy mit den Kontakten synce und dann mein Handy auch diese Null mit wählt. Die Wahlregeln scheint Asttapi zu ignorieren, so dass ich ihm sagen könnte, er solle sich immer mit einer 0 nach außen wählen.

Der Text:
The biggest problems I have suffered with on outbound calls are because of the dialling properties in Windows. This is the process by which a TAPI enabled app decides whether to put a 9 in front of the number or not (or whatever the case maybe). Make sure this is setup correctly.The second part to this is, windows will not following a dialling rule if you do not have a defined area code for a contact ? typically Outlook users have all of the number stored in the number field ? this is incorrect, the area code needs separating out for correct dialling outbound

von http://www.voip-info.org/tiki-index.php?page=Asterisk+TAPI
brachte auch nicht die Erleuchtung.

Ich habe Deutschland unter Land/Region gewählt, trotzdem ignoriert Outlook die Wahlregeln.

Gibt es da einen Trick ?

Ich nutze WinXPSP2 und Outlook 2003SP1

Gruß
Michael
 
Hi Michael,

Also bei mir funktioniert das mit den Wahlregeln.

Unter Telefon und Modeoptionen ist als Standort der Ort und die Vorwahl mit der führenden Null eingetragen, also z.B.

München 089

Beim Kontakt ist die Telefonnummer in folgender Form eingetragen:

+49 (0221) 2011
oder für ein Handy
+49 (0170) 9555502

Ich habe festrgestellt dass Outlook bei Abweichung von dieser Syntax
sehr empfindlich reagiert.

gruss
dobby
 
Hallo!

Bei mir funktioniert asttapi leider noch nicht richtig. Wenn ich aus Outlook eine Nummer wähle, dann klingelt zwar das Telefon, doch wenn ich abhebe ist nix dran...also kein Freizeichen bei der gerufenen Gegenstelle. Hoffe, das noch hinzukriegen.

Eine andere Frage: Wie muß asttapi eingerichtet werden, damit man am Windows PC die CallerID nutzen kann? Ich hätte das gerne so: Anruf kommt am Asterisk rein, asttapi meldet an Windows Tool die CallerID und ein TAPI Monitor läßt den entsprechenden Outlook Kontakt aufpoppen. Ich würde dafür tapicall.de verwenden, doch derzeit scheint asttapi die callerid nicht zu senden.

Habt Ihr eine Idee dazu?

mfg- Orso
 
Hallo!

TAPICall müsste mit der aktuellen Version von ASTTAPI laufen. Wir haben zumindest viele Kunden die diese Kombination einsetzten.

Gruß
Daniel Roesler

CONVERGIT GmbH
Hainweg 4
35287 Amöneburg
Tel.: +49 (6422) 899870
Fax: +49 (6422) 899863
roesler(at)convergit.de
www.convergit.de www.tapicall.de
 
Für alle die es interessiert:

Zum richtigen Umgang mit Outlook (in Verbindung mit Handy) müssen für eine Telnummer folgende Werte eingetragen werden:

Land/Region: Deutschland
Ort/Vorwahl: 163 (Beispiel für Handy) - wichtig: die Null weglassen
Ortsanschluss: 1234567 (den Rest der Nummer)
Durchwahl: gegebenenfalls ne Durchwahl ;o)

Man kann das beim manuellen Eintragen auch ein wenig beschleunigen, indem man in das Feld für Telefonnummer folgenden Wert eingibt:

+49 (163) 1234567 (Leerzeichen mit reinschreiben)
oder
+49 (30) 12345678

wer die Null nicht weglässt, also
+49 (0163) 1234567
schreibt, kann zwar aus Outlook heraus anrufen, kann aber Probleme nach dem Synchronisieren zwischen Handy und Outlook bekommen. Und zwar insofern, als dass das Handy nun verusucht +4901631234567 zu wählen und das geht ja logischer Weise in die Hose.

Gruß
Holg

ps: Hat jemand nun schon was bezüglich Evolution und asterisk gefunden?
 
Kostenlos!

Statistik des Forums

Themen
248,094
Beiträge
2,281,212
Mitglieder
377,296
Neuestes Mitglied
beetlesch