Page Index Toggle Pages: [1] 2  Send TopicPrint
Hot Topic (More than 10 Replies) Phoner und Python (Read 13624 times)
snakeseven
YaBB Newbies
*
Offline



Posts: 13
Joined: 19. Dec 2005
Phoner und Python
19. Dec 2005 at 23:10
Print Post  
Hallo erstmal, bin neu hier  Smiley
Ich will den Phoner aus Python heraus dazu bringen, einen Anruf aufzubauen und dann eine WAV Datei abzuspielen. Phoner aufrufen und Beenden geht, indem ich aus Python heraus den Kommandozeilen Interpreter starte, aber wie bringe ich Phoner dazu, eine Wav-Datei abzuspielen, sobald die Gegenseite abnimmt ?

P.S. Gibt es irgendwo Details zur Verwendung des vielzitierten COM Servers ? Auch für COM-Serverunkundige ?

Gruss, Seven
  

Freie Musikdownloads der Band LOW CUT:&&http://www.low-cut.de
Back to top
WWW  
IP Logged
 
snakeseven(Guest)
Guest


Re: Phoner und Python
Reply #1 - 20. Dec 2005 at 14:40
Print Post  
Ich frage mal konkreter: Was ich auswerten muß, ist das Active-X Ereignis:

OnConnected(CallerID, CalledID, CallID)
Wird ausgelöst, sobald die Gegenstelle das Gespräch angenommen hat


Gibt es einen, der mir sagen kann, wie er das machen würde ? Kann auch VB SCript oder TCL sein. Ich glaube Python ist hier nicht so verbreitet.

Gruss, Seven




  
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: Phoner und Python
Reply #2 - 20. Dec 2005 at 15:24
Print Post  
Hallo @ snakeseven,

ich befürchte, dass die Antwort leider die gleiche ist, wie bereits zu diesem Thread. Da es bisher keine Dokumentation der "internen" Funktionen von Phoner und der Steuerungsmöglichkeiten des implementierten COM-Servers gibt, und noch fieberhaft an einem umfassenden Anwendungs-Handbuch für die vielfältigen Funktionen Phoners gearbeitet wird, ist Deine Frage an dieser Stelle leider wahrscheinlich nicht zu beantworten.

Vielleicht kanst Du ja anhand der Beispiele auf der Downloadseite von Phoner erkennen, wie Du Dein Vorhaben in Python umsetzen kannst - eine Sprachreferenz für Python zum Zugriff auf die entsprechenden Schnittstellen kann ich Dir jedoch leider nicht bieten.
Viele Grüße vom Kai





Zu den Umfragen:
Wie nutzt DU Phoner?
Auf welchem System verwendest DU Phoner?

  
Back to top
IP Logged
 
snakeseven
YaBB Newbies
*
Offline



Posts: 13
Joined: 19. Dec 2005
Re: Phoner und Python
Reply #3 - 21. Dec 2005 at 11:00
Print Post  
Danke für die Antwort !
Ich müsste auch über den COM Server an die Infos kommen. Dann warte ich noch ein bischen auf die Doku. So eilig ist es nicht, mehr Neugier. Seven
  

Freie Musikdownloads der Band LOW CUT:&&http://www.low-cut.de
Back to top
WWW  
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: Phoner und Python
Reply #4 - 21. Dec 2005 at 11:33
Print Post  
Moin @ snakeseven,

wobei ich jedoch an dieser Stelle bereits vorsichtshalber und höflicher Weise darauf hinweise, dass 

a) die entgültige Dokumentation erst gegen Mitte / Ende Februar fertig sein wird, und

b) dieses Anwenderhandbuch höchstwahrscheinlich keine Dokumentation der verschiedenen Zugriffsmöglichkeiten auf Phoners implementierten COM-Server enthalten wird.

Die veröffentlichten Beispiele dagegen enthalten, meinem Kenntnissen gemäß, so ziemlich  alle Methoden, auf den COM-Server zuzugreifen, weshalb ein Studium der beigelegten, kommentierten Quelltexte wahrscheinlich aufschlussreicher ist, als jede Dokumentation zu diesem Thema.
Viele Grüße vom Kai





Zu den Umfragen:
Wie nutzt DU Phoner?
Auf welchem System verwendest DU Phoner?

  
Back to top
IP Logged
 
snakeseven
YaBB Newbies
*
Offline



Posts: 13
Joined: 19. Dec 2005
Re: Phoner und Python
Reply #5 - 21. Dec 2005 at 16:55
Print Post  
Hallo,
wahrscheinlich wird es nur so gehen ? Allerdings war ich schon in der Schule sehr faul im Lernen von Fremdsprachen und VB und Delphi sind für mich totale Fremdsprachen. Hoffte, daß es doch noch den einen oder anderen Schlangenbeschörer hier gibt Wink
Gruss, Seven
  

Freie Musikdownloads der Band LOW CUT:&&http://www.low-cut.de
Back to top
WWW  
IP Logged
 
Phoner Admin
YaBB Administrator
*****
Offline



Posts: 11388
Location: Germany
Joined: 12. Oct 2003
Gender: Male
Re: Phoner und Python
Reply #6 - 26. Dec 2005 at 10:49
Print Post  
Kein VB, kein Delphi (Pascal), kein C++ - also irgendeine Programmiersprache muss doch passen...
  
Back to top
WWW  
IP Logged
 
snakeseven(Guest)
Guest


Re: Phoner und Python
Reply #7 - 27. Dec 2005 at 20:39
Print Post  
Quote:
Kein VB, kein Delphi (Pascal), kein C++ - also irgendeine Programmiersprache muss doch passen...


Also Pascal habe ich tatsächlich irgendwann vor 15 Jahren intensivst an der Uni programmiert. Hat mir sogar gut gefallen. C und C++ waren nie meine Lieblinge. Zuviel Code für zuwenig Resultat. Deswegen Python, aber da bin ich noch ziemlich am Anfang. Doch immerhin weiss ich jetzt, wie ich den COM-Server aus Python heraus anspreche. phon = win32com.client.Dispatch ("Phoner.CPhoner"). Wenn das Progrämmchen zum akustischen Newsletter steht, poste ich es hier.

(kann mich als 'snakeseven' nicht einloggen ?? PW ist korrekt, habe ich überprüft)
  
Back to top
 
IP Logged
 
snakeseven
YaBB Newbies
*
Offline



Posts: 13
Joined: 19. Dec 2005
Re: Phoner und Python
Reply #8 - 29. Dec 2005 at 23:32
Print Post  
So, ich werf mal wieder mit Fragenzeichen um mich Huh Huh Huh
Habe in einem Thread gelesen, daß euer Moderator "Suppenkasper" sich mit Python beschäftigt. Vieleicht kann er mir die Frage beantworten, die ich im Python Forum gepostet habe ? Dort können zwar alle Python, aber kennen widerum Phoner nicht. Die Doku zum COM Server von Phoner habe ich über VB gefunden und ein paar Infos lassen sich auch auslesen, aber leider nicht die für mich wichtigen. Hier der Thread (letzer Beitrag):

http://www.python-forum.de/viewtopic.php?t=4709

Gruss, Seven
  

Freie Musikdownloads der Band LOW CUT:&&http://www.low-cut.de
Back to top
WWW  
IP Logged
 
snakeseven
YaBB Newbies
*
Offline



Posts: 13
Joined: 19. Dec 2005
Re: Phoner und Python
Reply #9 - 24. Jan 2006 at 16:49
Print Post  
Hallo,
ich muss nochmal zum Thema CallID nachbohren. Folgendes Pythonscript started Phoner,
wählt, spielt eine Wavdatei ab, beendet den Ruf und schließt Phoner wieder. Alles schick, bis auf den
Schönheitsfehler, daß ich die CallID manuell eingetragen habe. Das ist natürlich gemogelt Smiley)
Ich komme einfach nicht an die CallID heran !?? Auch das intensive Studium der VB Beispiele bringt mich nicht weiter,
weil ich nicht nachvollziehen kann, wo da das COM Objekt angesprochen wird ? Ich verstehe auch nicht, wieso 
mir euer hilfreiches HTML-Beispiel als CallID "257" anzeigt und im Phoner Debugger steht 
"00DB7010-5A8B-DA11-84A1-00023FD0BEAA@84.189.128.136" als Call-ID ?

TCallState liefert zwar die CallID, ist aber nicht Teil der Klasse CPhoner und somit 
für mich über win32com nicht erreichbar. Erklärung im Objektkatalog von VB: "Enum TCallSTate: 
Element von Phoner". Was ist in diesem Zusammenhang mit Enum gemeint ? Ich weiss, zuviele Fragen, Sorry !

Viele Grüße, Seven

Das Progrämmchen:

Code
Select All
import win32com.client,time          
p = win32com.client.Dispatch("Phoner.CPhoner")

cid = "257"
stat = ""
wavlen = 11

p.MakeCall("021158007207")      #Echotestloop

end = False
ply = False
while not end:
    if p.GetState(cid,stat) == "Connected":
        if not ply:
            ply = True
            p.SendWAVE(cid,"G:/AutomergeMobile/MP3_out/temp1.wav")
            time.sleep(wavlen)  #11 Sekunden warten
            p.DisconnectCall(cid)
            end = True
            
del(p)  #Phoner schließen  

  

Freie Musikdownloads der Band LOW CUT:&&http://www.low-cut.de
Back to top
WWW  
IP Logged
 
Phoner Admin
YaBB Administrator
*****
Offline



Posts: 11388
Location: Germany
Joined: 12. Oct 2003
Gender: Male
Re: Phoner und Python
Reply #10 - 25. Jan 2006 at 10:33
Print Post  
Du solltest die CallID von Phoner und die CallID in SIP nicht miteinander in Verbindung bringen. Die sind was völlig anderes.
Phoner intern identifiziert die Rufe anhand einer ID. Diese ID wird in der CAPI generiert und entspricht dort dem PLCI - aber das nur am Rande.

Wenn du einen Ruf initiierst, dann wird das von Phoner an die CAPI (die SIP-Implementierung ist auch nur eine CAPI) weitergeleitet. die CAPI generiert daraufhin eine ID und meldet die asynchron zurück. Diese ID bekommst du dann über die Event-Funktion auch gemeldet.
Wenn du keine Event-Funktion (OnChangeState) implementiert hast, bekommst du diese ID auch nicht mitgeteilt. In allen Samples (VB, Delphi, C++) funktioniert das auch.
  
Back to top
WWW  
IP Logged
 
snakeseven
YaBB Newbies
*
Offline



Posts: 13
Joined: 19. Dec 2005
Re: Phoner und Python
Reply #11 - 25. Jan 2006 at 21:45
Print Post  
Tut mir leid, bin ich wohl zu blöd zu Embarrassed
Der COM Server bietet mir Zugriff auf Properties, 
Methoden (Funktionen) und Events. Auf die Properties kann ich mit Phoner.CPhoner.Propertyname zugreifen.
Mit den Methoden klappt das auch. 
Beispiel: Phoner.CPhoner.SendWAVE("257","G:/MP3_out/temp1.wav").
Aber auf das Event OnChangeState, das laut VB Objektkatalog ebenfalls ein Element von Phoner.CPhoner ist, habe ich keinen Zugriff. Natürlich kann ich mir eine Funktion schreiben, die genauso heißt und auch eine Variable "CallID" enthält, aber die wird mir garantiert nicht verraten, was in Phoner.CPhoner.OnChangeState steht ?
Im VB Script gibt es die Funktion myPhoner_OnChangeState. In der öffentlichen Funktion Public Sub New wird

Code
Select All
myPhoner = New Phoner.CPhoner
AddHandler myPhoner.OnChangeState, AddressOf myPhoner_OnChangeState 



aufgerufen.
Ich interpretiere das so, daß myPhoner eine Instanz von Phoner.CPhoner ist.
Dann gibt es den Aufruf AddHandler myPhoner.OnChangeState, der, wenn ich als VB Unkundiger das richtig deute, dem Handler
die Adresse von myPhoner_OnChangeState zuweist.
Wird da myPhoner_OnChangeState auf myPhoner.OnChangeState vom Com-Server umgeleitet ?
Das würde mir zumindest erklären, warum eine private "Sub" auf Daten des öffentlichen Com-Servers zugreifen kann. 

Also ich passe jedenfalls hier. Danke vielmals für eure Geduld ! Grüße, Seven
  

Freie Musikdownloads der Band LOW CUT:&&http://www.low-cut.de
Back to top
WWW  
IP Logged
 
Phoner Admin
YaBB Administrator
*****
Offline



Posts: 11388
Location: Germany
Joined: 12. Oct 2003
Gender: Male
Re: Phoner und Python
Reply #12 - 26. Jan 2006 at 07:29
Print Post  
Versuche dir einfach die OnChangeState-Funktion als Callback Function vorzustellen. So nach dem Motto: "Wenn du mir was zu sagen hast, dann rufe doch die Funktion, welche ich dir hier übergebe". Natürlich muss die Funktionsdeklaration übereinstimmen.
Erklärt dir das die Logik besser?
  
Back to top
WWW  
IP Logged
 
snakeseven
YaBB Newbies
*
Offline



Posts: 13
Joined: 19. Dec 2005
Re: Phoner und Python
Reply #13 - 26. Jan 2006 at 11:35
Print Post  
Hm, also ich schreibe eine Funktion

 
Code
Select All
public sub OnChangeState(CallID)
  	dim StatusString
  	dim CallerIDString
  	dim CalledIDString
  
  	StateString = ""
  	CallerIDString = ""
  	CalledIDString = ""
  
    CPhoner.GetState CallID, StateString
    CPhoner.GetCallerID CallID, CallerIDString
    CPhoner.GetCalledID CallID, CalledIDString
  end sub 



und übergebe ihr beim Aufruf die Eventfunktion OnChangeState() des COM Servers ?
Das habe ich versucht, bekomme aber einen Attribut Error. Ich frage aber erstmal 
im Python Forum nach, was die mir zum Thema Callback Aufruf empfehlen.

Dir auf jedem Fall Vielen Dank !
Gruss, Seven
  

Freie Musikdownloads der Band LOW CUT:&&http://www.low-cut.de
Back to top
WWW  
IP Logged
 
Phoner Admin
YaBB Administrator
*****
Offline



Posts: 11388
Location: Germany
Joined: 12. Oct 2003
Gender: Male
Re: Phoner und Python
Reply #14 - 26. Jan 2006 at 19:25
Print Post  
Google hilft dir immer weiter Smiley
groups.google.de
  
Back to top
WWW  
IP Logged
 
Page Index Toggle Pages: [1] 2 
Send TopicPrint