[Eisfair] [e1] asterisk-dahdi-hfcs mit 2 Karten
Stefan Welte
post at stefan-welte.de
Mi Apr 20 04:38:13 CEST 2016
Hallo Holger,
Am 14.04.2016 um 23:32 schrieb Holger Bruenjes:
> Doch jetzt, dass kommt daher, das wenn dahdi gestoppt wird und
> Asterisk mit dahdi Modulen laeuft wird asterisk angehalten und ein
> Skript abgelegt um die gestoppten Dienste beim start von dahdi
> wieder zu starten.
>
> Wenn Du nun aber asterisk startest, startet der dahdi mit, wenn
> erforderlich, so schliesst sich da leider der Kreis, ich werde das
> Skript beim Start vom Asterisk loeschen.
jetzt ist besser, wenn ich auch nicht weiss, wie du das gelöst hast. :)
Denn meine Vermutung, nun klappt der Start von asterisk nicht mehr, weil dahdi noch nicht läuft und erst von
Hand angeworfen werden muss, ist nicht eingetroffen:
> root at eis2 2.7.1:~ # /etc/init.d/asterisk stop
> * Stopping Asterisk ... [ OK ]
> * Stopping Asterisk Webinterface ... [ OK ]
> root at eis2 2.7.1:~ # /etc/init.d/dahdi stop
> * Stopping Asterisk ... [ OK ]
> * Unloading DAHDI hardware modules: [ OK ]
> root at eis2 2.7.1:~ # /etc/init.d/asterisk start
> * Loading DAHDI hardware modules: dahdi_hfcs: [ OK ]
> * Running dahdi_cfg: [ OK ]
> * Starting Asterisk ...
> Unable to access the running directory (Permission denied). Changing to '/' for compatibility. [ OK ]
> * Starting Asterisk Webinterface ... [ OK ]
> root at eis2 2.7.1:~ #
Bzgl. Webinterface habe ich noch ein paar Ideen:
1. In /var/lib/asterisk/webinterface/htdocs/config.php ist in Zeile 23:
> 23 $url = 'https://'.$_SERVER['HTTP_HOST'];
das "URL-Protokoll" fix gesetzt. Falls ASTERISK_WEBINTERFACE_FORCE_SSL=no gesetzt, passen die Links zu den
Details nicht. (SOLL: http, IST:https). Entweder sollte das Protokoll von der URL getrennt werden oder die
Links in /var/lib/asterisk/webinterface/htdocs/modules/protocol/index.php statt absolut relativ sein. Bin
mir aber nicht sicher, welcher Weg sinnvoller ist.
2. In /var/lib/asterisk/webinterface/htdocs/modules/protocol/index.php die Einträge pro Seite konfigurierbar
machen über einen Parameter:
> 145 $maxPerPage = $ASTERISK_WEBINTERFACE_MPP;
Fixe 20 sind mir zu wenig, speziell vor dem Hintergrund, dass z.B. die Filterfunktion "Ausgegangene Anrufe"
nach der maxperpage-Selektion stattfindet. Es kommt vor, dass auf Seite 1 gar kein Eintrag erscheint,
auf Seite 2 jedoch zehn. Wenn die cdr-csv-Datei sehr gross ist, ist die jetzige Vorgehensweise die rechen-
leistungschonendere, vermute ich. Falls ich falsch vermute, könnte man auch zuerst alle "Ausgehenden Anrufe"
filtern und danach maxperpage machen...
3. In /var/lib/asterisk/webinterface/htdocs/modules/protocol/index.php die Spaltenbeschriftung erweitern:
> 136 $t->setCol("MSN (int.)", "header");
> 137 $t->setCol("Rufrichtung", "header");
> 138 $t->setCol("CallerID (ext.)", "header");
Schön wäre, wenn die Einträge/Pfeile unter Rufrichtung zentriert wären, aber dazü müsste man sich wohl eher
übel mit /var/lib/asterisk/webinterface/htdocs/functionsOutput.inc.php näher auseinandersetzen:
> 153 if (preg_match("/header/", $col["params"])) {
> 154 $start_tagname = "th id=\"".$this->thId."\"";
> 155 $end_tagname ='th';
> 156 if($this->innerBorder) $class = "border_bottom ";
> 157 } elseif (empty($col["params"])) {
> 158 $style = '';
> 159 $start_tagname = "td id=\"".$this->tdId."\"";
> 160 $end_tagname ='td';
> 161 } else {
> 162 $class = $col["params"];
> 163 $start_tagname = "td id=\"".$this->tdId."\"";
> 164 $end_tagname ='td';
> 165 }
4. In /var/lib/asterisk/webinterface/htdocs/modules/protocol/index.php wird die Uhrzeit statt in TIME_ZONE
(base-Parameter) in UTC dargestellt.
5. In /var/lib/asterisk/webinterface/htdocs/modules/protocol/index.php bei Detailanzeige ein zusätzliches
Feld, über welchen Weg das Telefonat ging einfügen:
> 82 $t->setRow();
> 83 $t->setCol("Via:", "header");
> 84 $t->setCol($call["dstchannel"]);
6. Ein zusätzlicher Menüpunkt (linke Spalte) mit allen aktiven internen Telefonen, welcher eine einfache
Liste anzeigt:
Alle Telefone mit ASTERISK_PHONES_X_ACTIVE='yes':
ASTERISK_PHONES_X_MSN='12344' : ASTERISK_PHONES_X_OUTGOING_NAME='SIP-Telefon EG'
ASTERISK_PHONES_X_MSN='12345' : ASTERISK_PHONES_X_OUTGOING_NAME='ISDN-Telefon OG'
...
ggf. noch eine erweiterte Liste, welche weitere interessante Parameter wie z.B.
ASTERISK_PHONES_X_OUTGOING_SIP
ASTERISK_PHONES_X_OUTGOING_IAX
ASTERISK_PHONES_X_OUTGOING_MSN
enthält.
Gruss,
Stefan
PS: die Ideen sind nicht geordnet, manche leicht, manche aufwändig zu implementieren. Die
Zeilennummerierungen sind (hoffentlich) exakt bzgl. der Originaldateien.
Mehr Informationen über die Mailingliste Eisfair