[Diskussion] [HOWTO] Asterisk mit dem Snom-Pickup-Patch patchen

Hallo zusammen,

also, ich hole mal ein bisschen weiter aus. Wenn irgendwas falsch ist, korrigiert mich, ich bin immer nach brauchbaren Infos bezüglich Asterisk und diverser Features her, man muss sich ja alles mühseelig zusammensammeln...

So, wir haben hier in der Firma eine Asterisk-Anlage in der bristuffed-Version installiert (weil wir 'ne QuadBRI einsetzen), und zwar der Stand von Anfang Dezember, Version bristuff-0.3.0-PRE-1w, zu bekommen unter http://www.junghanns.net/downloads/. Diese Version zieht Asterisk 1.2.13, zaptel 1.2.10 und libpri 1.2.4 an. Diese bristuffed-Version bringt den Pickup-Patch inkl. LED-Ansteuerung mittels app_devstate bereits komplett mit, es ist kein weiterer Patch notwendig! Es gibt hier eine Anleitung für die Snom-Telefone, wie man diesen Patch und die Anzeige problemlos nutzen kann:

http://www.das-asterisk-buch.de/beta-test/telefone-snom.html

Leider ist das aber im Moment nur die halbe Wahrheit, was nämlich schief läuft: Das bristuff-Zeug zeigt bei einem eingehenden Anruf an einem überwachenden Telefon nicht die Nummer des Anrufers sondern die des Angerufenen an. Herzlich sinnlos, wurde auch hier schon mal bestätigt:

http://www.ip-phone-forum.de/showthread.php?t=114040&highlight=notify+asterisk

Da bristuff ja eigentlich alles mitbringt und man nur diesen Fehler korrigieren muss, habe ich mir mal den Patch von Michael Gernoth gekrallt und den relevanten Teil auf die bristuffed-Version umgeschrieben. Nun wird auch der Anrufer korrekt angezeigt, ABER... wenn man im Caller-ID-Namen eine Rufnummer drin hat, die mit <nummer> an den Namen angehängt ist (also z.B. "Nobser <25>"), dann verhaspelt sich die Snom-Firmware mit den eingehängten spitzen Klammern, da die Notifies XML-kodiert sind. Das habe ich auch mal korrigiert, d.h. die 5 Problemzeichen <,>,",' und & werden in die dazugehörigen Entities gewandelt. Jetzt funktioniert zumindest bei meinen aktuellen Tests alles einwandfrei. Klar, den Patch könnt ihr natürlich haben, die aktuelle Version liegt hier, Tester sind willkommen.

http://pweb.uunet.de/ivory.e/asterisk/bristuff-030w-richartz-2007-01-05.patch

Junghanns und Snom sind im übrigen informiert, ich hoffe auf eine baldige "offizielle" Korrektur.

Zusammenfassend: Bristuffed-Version installieren, meinen Patch drüberbügeln, PickUppen bis der Arzt kommt :)

Im Ernst, ich konnte den Patch noch nicht ausreichend testen, bin also für Infos dankbar.

Wer eine Anleitung für die Installation des bristuff-Zeugs braucht, wird auch hier fündig:

http://www.das-asterisk-buch.de/beta-test/isdn-1.2-bristuff.html

Ich hoffe, ich habe nix vergessen, so ist mein aktueller Wissensstand...

Grüße, Nobser
 
Zuletzt bearbeitet:
Das war ausführlich ;)

Wenn nun noch jemand das mal bei sich testen kann und die Funktion bestätigt ergänzen wir das HowTo entsprechend.

Grüsse, Stefan
 
Nachtrag zu der Frage bezüglich Pickup und A@H, oder Trixbox wie es jetzt heißt, in einer der älteren Messages. Soviel ich weiß basiert Trixbox auf der bristuffed-Version von Asterisk. Sprich, um eine Übernahme zu realisieren, muss irgendwo im Wählplan ein

exten => _*8.,1,PickUpChan(SIP/${EXTEN:2})

zu finden sein, dann klappt es auch mit dem PickUp (*8 hängt ab von der Einstellung in der features.conf). Das erklärt, warum bei robtor die LEDs blinken, aber die Übernahme nicht funktioniert.
Damit im Display was angezeigt wird, muss in den erweiterten Konfiguration im snom bei "Dialog-Info Call Pickup" ein "An" stehen und bei "Pakete vom Registrar filtern" ein "Aus". Zumindest Letzteres ist glaube ich default auf "An"... Wobei sich Soft- und Hardphone auch bei den Default-Einstellungen unterscheiden, bei Telefonen der aktuellen Firmware 6.5.2 ist alles so eingestellt, dass die Anzeige sofort funktioniert, wenn ich das Recht in Erinnerung habe.

Grüße, Nobser
 
Versionen

Hallo Alle Zusammen,

hier nochmals der Aufruf :

ACHTET AUF DIE EINGESETZTEN VERSIONEN,

der PickupPatch & Snom haben Probleme mit Versionshüpfern...

Grüsse, Stefan
 
cibi schrieb:
Der erste "Hunk" schlägt auch fehl.
dort wurde bei
Code:
static int transmit_state_notify(struct sip_pvt *p, int state, int full, int substate, int timeout);
int timeout hinzugefügt.

Getestet habe ich das ganze aber noch nicht.

Aber ich (1.2.14), und bei mir kommt beim kompilieren folgende Fehlermeldung:
Code:
chan_sip.c:10546: warning: `gettag' was declared implicitly `extern' and later `static'
chan_sip.c:10308: warning: previous declaration of `gettag'
chan_sip.c:10546: warning: type mismatch with previous implicit declaration
chan_sip.c:10308: warning: previous implicit declaration of `gettag'
chan_sip.c:10546: warning: `gettag' was previously implicitly declared to return `int'
chan_sip.c:13287: error: redefinition of `sip_addheader'
chan_sip.c:975: error: `sip_addheader' previously defined here
chan_sip.c: In function `load_module':
chan_sip.c:13604: error: `sip_tech' undeclared (first use in this function)
chan_sip.c: In function `unload_module':
chan_sip.c:13648: error: `sip_tech' undeclared (first use in this function)
chan_sip.c: At top level:
chan_sip.c:975: warning: `sip_addheader' defined but not used
make[1]: *** [chan_sip.o] Error 1
make[1]: Leaving directory `/usr/src/asterisk-1.2.14/channels'
make: *** [subdirs] Error 1

Kommentiere ich besagte Zeile aus, dann kompiliert er fehlerlos und das PickUp funktioniert auch. Grund dafür dürfte wohl sein dass es in der Zeile 13287 schon eine Funktion mit besagten Namen hat.
 
Also bei mir gehts prima. Habe es gerade mit 1.2.15 getestet.
Kommt zwar beim patchen 2 rejects aber compilieren und installieren geht trotzdem. Obs auch zuverlässig läuft wird sich noch rausstellen müssen.


Gruss,

Jörg
 
@Jörg

Und ? Resonanz ?

Wichtig

Die aktuelle Sicherheitslücke in Asterisk stellt den Patch vor ein Problem.
Er wird mit der aktuellsten Version nicht funktionieren.

Ich habe (mal wieder) mgernoth dazu angeschrieben und um eine Korrektur gebeten...

Doch wie steht es mit dem bristuff-devstate-patch, hat jemand die Möglichkeit diesen bei sich zu testen mit der aktuellen Version ?

Grüsse, Stefan
 
Mal was ganz grundsätzliches zum Patch. Warum ist überhaupt ein Patch am Asterisk nötig. Nochazu einer der doch tiefer in die chan_sip eingreift und daher immer angepasst werden muss.

Ist hier nicht eher snom gefragt? Warum sendet das snom nicht einfach **<Nebenstelle> so wie es das GXP-2000 von Anfang an macht, und es somit ganz einfach & ohne Patch an jedem standart Asterisk wunderbar Pickupen kann.

exten => _**X.,1,Pickup(${EXTEN:2})
exten => _**X.,2,Hangup

Reicht für das GXP-2000 vollkommen aus.
 
Es geht hier auch nicht unbedingt um das Pickup selbst, sondern eher das "drumherum". Werden die Anrufer auch mit Rufnummer und Name auf den anderen Telefonen signalisiert? Blinkt die LED neben der Taste? Wird nach der Übernahme die Rufnummer des Anrufers angezeigt?

@all: beruhigt euch erstmal, vielleicht gibt es demnächst eine endgültige Lösung.

mfg Guard-X
 
Hi Guard-X,

beruhigt euch erstmal, vielleicht gibt es demnächst eine endgültige Lösung.

Weisst Du mehr als wir ? ;)

Grüsse, Stefan
 
HobbyStern schrieb:
@Jörg

Und ? Resonanz ?

Wichtig

Die aktuelle Sicherheitslücke in Asterisk stellt den Patch vor ein Problem.
Er wird mit der aktuellsten Version nicht funktionieren.

Ich habe (mal wieder) mgernoth dazu angeschrieben und um eine Korrektur gebeten...

Doch wie steht es mit dem bristuff-devstate-patch, hat jemand die Möglichkeit diesen bei sich zu testen mit der aktuellen Version ?

Grüsse, Stefan

@Hobbystern

Da ich nicht lange die 1.2.15 drauf hatte kann ich nur sagen solange sie lief wars prima ;) Mit der .16 habe ich dann wohl auch ein Problem. Also warte ich auch mal auf einen Patch :)

Gruss,

Jörg
 
Etwas OT:
Bei Asterisk 1.4.1 funktionieren zumindestens die hints eingermaßen gut,nur "Unavailable" nicht. (SNOM FW 6.5.2)
channels/chan_sip.c, 1.2.13 mit Pickup Patch:
Code:
case AST_EXTENSION_UNAVAILABLE:
statestring = "confirmed";
local_state = NOTIFY_CLOSED;
pidfstate = "away";
pidfnote = "Unavailable";
1.4.1:
Code:
case AST_EXTENSION_UNAVAILABLE:
statestring = "terminated";
local_state = NOTIFY_CLOSED;
pidfstate = "away";
pidfnote = "Unavailable";

ändert man nun statestring auch in 1.4.1 auf "confirmed" funktioniert es.
Ich kenne aber die Sip Spez. nicht => keine Ahnung was ich da gemacht habe :rolleyes:

BTW: Unter
http://bugs.digium.com/view.php?id=9258
hatte jemand einen Patch für 1.4.1 + SNOM + Pickup veröffentlicht, wurde aber bereits abgeleht/geschlossen. (Gründe siehe Link)
 
Zuletzt bearbeitet:
Gut , für 1.4 ist das ganze ja nun eine ganz andere Sache - aber teste doch mal ob man diese Änderungen als stabil bezeichnen kann...

Allerdings zum Bugrep beim Mantis von Digium :

There's no need to add this to a new bug report, since it's already in one bug report and has already been denied

Das war der Grund für die Ablehnung, der Patch war schlichtweg geklaut und bereits gepostet und abgelehnt, hat jemand das original und die Ablehnungsgründe gelesen ? Im Patch selber ist kein Herkunftshinweis o.ä.

Grüsse, Stefan
 
HobbyStern schrieb:
Gut , für 1.4 ist das ganze ja nun eine ganz andere Sache - aber teste doch mal
Ich habe mir den Patch mal angeschaut: Der Funktioniert vermutlich überhaupt nicht - das bracht man noch nicht einmal zu testen
 
Zuletzt bearbeitet:
(offtopicAN)1.4 ist mM nach zZt noch "Zeitsache" - es gibt für mich keinen grund zu updaten(offtopicAUS), daher bin ich auf Aussagen dazu angewiesen um diese dann als Zitat mit aufzunehmen - ich werde 1.4 noch nicht einspielen...

Grüsse, Stefan
 
Ich glaube es handelt sich im original evtl um diesen hier http://bugs.digium.com/view.php?id=5014

Also der pickup patch erweitert und gepflegt von mgernoth.

Ich denke digium hat dort ähnlichkeiten festgestellt. Aber warum die sich so aufregen wenns doch klappt verstehe ich nich. (Ich habe es selbst noch nicht getestet.)

Gruss,

Jörg
 
Da sich ja keiner erbarmt habe ich mal den pickup patch für die 1.2.16 modifiziert. ;)

Bitte mal testen, ich hoffe das klappt so. Erste Tests mit meiner 1.2.16 funktionierten. Er sollte ohne rejcts etc. durchlaufen. Ich wäre über eine kurze Resonanz überglücklich.



Gruss,

Jörg
 

Anhänge

  • pickup.patch.gz
    4.3 KB · Aufrufe: 41
Hallo Jörg,

dickes Danke erstmal - ich habe das ganze gerade auf meinem vserver angewandt - ich muss das ganze noch ordentlich testen, aber es läuft mit meinem privaten Snom bis jetzt okay..

Allerdings habe ich den Patch etwas verändert und die Pfade absolut angegeben, er geht nun davon aus das ein /usr/src/asterisk-1.2.16 und ein /usr/src/asterisk-1.2.16-patch existiert, mein Wissen über das patchen ist sehr halbgar und hat gerade mal so gereicht um dies zu schaffen.

Zu finden hier

Besten Dank an Dich - ggf. haben wir ja jemanden der das ganze auch im größeren Umfang *testen* kann !

Grüsse, Stefan
 
Zuletzt bearbeitet:
Hallo Stefan,

komisch bei mir klappts mit patch -p1.

Naja is ja nur ein Schönheitsfehler :)


Gruss,

Jörg
 
Hallo Jörg,

ich seh das ebenso, also : wer den Schönheitsfehler weg haben will der nehme patch 2, wer das auch so mit -p1 macht nehme eben den anderen ;) Testen müssen wir es trotzdem noch ;)

Grüsse, Stefan
 
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.