[Eisfair] Erfahrungsbericht Asterisk und Capi2Text ohne ISDN

Uwe Kunze u.kunze.sdh at t-online.de
Di Jan 3 19:40:31 CET 2017


Hallo Jürgen und Dirk,

nachdem jetzt capi2text in den "nodaemon"-Modus versetzt werden kann und 
den S0-Bus nicht mehr mitloggt, kann das ja jetzt mit den 
vorgeschlagenen Asterisk-Macros aus dem Dialplan heraus angestossen werden.

Das Loggen der eingehenden Anrufe funktioniert ja durch die Übergabe der 
4 Argumente von Asterisk an capi2text praktisch genauso wie im reinen 
capi-Betrieb:

exten => 0123456789,1,Macro(logging,

${STRFTIME(${EPOCH},,%Y-%m-%d)},
${STRFTIME(${EPOCH},,%H:%M:%S)},
${CALLERID(num)},
${EXTEN})


Wie Dirk ausprobiert hat, funktioniert das ja prinzipiell auch für 
ausgehende Anrufe.

Ich habe das ebenfalls probiert ... allerding hat die Sache einen 
"Schönheitsfehler":

Bei ausgehenden Anrufen interessiert mich im Logfile (im WebGUI von 
capi2text) nicht so sehr der Anrufer (der ist ja lokal), sondern der 
Angerufene. Capi2text soll also die Anschrift des Angerufenen raussuchen 
... nicht des Anrufers.

Also habe ich im Macro-Aufruf für ausgehende Telefonate die beiden 
letzten Argumente getauscht ... und das funktioniert wie erwartet.

${STRFTIME(${EPOCH},,%Y-%m-%d)},
${STRFTIME(${EPOCH},,%H:%M:%S)},
${EXTEN};
${CALLERID(num)})

Der Schönheitfehler ist jetzt, das im Webgui jetzt (natürlich) auch 
anrufende und angerufene Nummer vertauscht sind. Ich bekomme zwar die 
Adresse des angerufenen Teilnehmers aufgelöst, aber die Nummer steht 
eben vorn in der Spalte "von".

Wäre es ein sehr großer Aufand, in einem der nächsten Updates ein 
weiteres Argument für capi2text einzubauen, mit welchem Asterisk 
signalisieren kann, ob es sich um einen eingehenden oder ausgehenden 
Anruf handelt, dies im Webgui angezeigt und daruafhin "von" und "an" 
automatisch vertauscht werden könnten ?

Von einem oder zwei weiteren Argumenten, um aus Asterisk auch noch den 
Status ("abgehoben") und die Gesprächsdauer zu übernehmen, will ich mal 
lieber nicht reden ... ;-)

Gruß Uwe


>> ich hab das grad mal getestet.  Analog zum 'macro-logging' im Dialplan
>> ein 'macro-ausgang' erstellt:
>>
>> [macro-ausgang]
>> exten =>  s,1,NoOp(Macro ausgang)
>> exten =>  s,n,System(sudo /usr/sbin/capi2text.sh ${ARG1} ${ARG2} ${ARG3}
>> ${ARG4} 0 2)
>>
>> und diesmal im ausgehenden Kontext vor dem Dial-Kommando den Aufruf
>> eingefügt:
>>
>> exten =>  _0X.,n,Macro(ausgang,${STRFTIME(${EPOCH},,%Y-%m-%d
>> %H:%M:%S)},${CALLERID(num)},${EXTEN})
>>
>> Die '0' ist bei mir die "Amtsholung" für Anrufe nach draußen, ansonsten
>> ist es der komplett gleiche Befehl wie im eingehenden Kontext.
>> Und es funktioniert erstmal grundlegend. Ist mit Sicherheit noch zu
>> ferfeinern, man kann damit arbeiten und darauf aufbauen. :-)

> danke für die Rückmeldung. Ich denke die Leitungsnummer, damit ist
> eigentlich nicht die Ziffer für die Amtsholung gemeint sondern der
> Index der verwendeten Amtsholung, und auch die Anrufdauer wären
> vorerst nebensächlich. Ein Indikator, ob es sich um einen eingehenden
> oder ausgehenden Anruf handelt wäre dafür eher von Interesse.
>
> Gruß Jürgen



Mehr Informationen über die Mailingliste Eisfair