chan-sccp-b release für asterisk 1.2 und 1.4

chaos2000

Aktives Mitglied
Mitglied seit
22 Aug 2004
Beiträge
2,028
Punkte für Reaktionen
0
Punkte
36
nach einiger Zeit der Stille haben wir nun endlich wieder eine funktionierende Version für asterisk 1.2 und 1.4.
Es ist ein merge das beide trees vereint, so müssen wir nicht mehr zwei Versionen warten.
An neuen Features ist nicht bisweilen nicht viel hinzugekommen.
in kürze noch mal das was mir auf die Schnelle einfällt:

- serviceURL für line-buttons
- DND-toggle on phone
- GPickUp patch
- received calls patch
- variables can be set for devices and/or lines

distinctive ringing ist auch möglich mit protocolversion=5, das aber auch einige Nebeneffekte haben kann die z.Z. noch nicht bekannt sind. Bei mir läuft es auf 7971 und 7970 bisweilen ohne Problem.

http://sourceforge.net/projects/chan-sccp-b/
 
Zuletzt bearbeitet:

fsiggi

Neuer User
Mitglied seit
18 Dez 2006
Beiträge
97
Punkte für Reaktionen
0
Punkte
0
Prima...

Jup, funzt prima. Keine Deadlocks mehr, crasht nicht mehr bei Blindtransfers.
Was noch neu ist:

Mit der SetMessage-Anwendung kann man aus dem Dialplan Nachrichten an das anrufende Telefon senden.

SetMessage("Rufumleitung extern an XX") oder so.
 

chaos2000

Aktives Mitglied
Mitglied seit
22 Aug 2004
Beiträge
2,028
Punkte für Reaktionen
0
Punkte
36
SetMessage - funktioniert aber nicht bei jedem Telefon (z.B. 7970/7971) weshalb ich es nicht erwähnt habe.
Stimmt das mit dem blindTransfer haben wir auch gelösst.
Kann ich fragen welche asterisk version du verwendest?
 

fsiggi

Neuer User
Mitglied seit
18 Dez 2006
Beiträge
97
Punkte für Reaktionen
0
Punkte
0
Du hast recht! Ich hab hier viele 7961er, bei denen klappt SetMessage() prima. Habe gerade auch bei einem 7971 geschaut, da geht es auch, aber die Meldung verschwindet wieder, wenn man nur den Hörer abnimmt und wieder auflegt.

Ein 7970er habe ich nicht.

Ich verwende Asterisk 1.4.23.

Ich sehe mal zu, dass SetMessage auch beim 7971 richtig läuft, vielleicht geht es dann auch bei den anderen Phones.
 

chaos2000

Aktives Mitglied
Mitglied seit
22 Aug 2004
Beiträge
2,028
Punkte für Reaktionen
0
Punkte
36
das wäre super, ich hab es auf meinem 7971 nicht zu sehn bekommen - muss es heute abend noch mal testen.
 

fsiggi

Neuer User
Mitglied seit
18 Dez 2006
Beiträge
97
Punkte für Reaktionen
0
Punkte
0
Mit diesem Patch funzt es auch an einem alten 7960, das hier noch herumsteht, das hat bisher auch gar nichts angezeigt. Jetzt zeigt es die Nachricht an, auch nach dem Auflegen wieder. Nur nach einem Reset nicht, da müsste die Nachricht noch in der ast_db gespeichert werden.

--- chan_sccp_20071111/chan_sccp.c 2007-11-11 16:24:24.000000000 +0100
+++ chan_sccp_20071111-mod/chan_sccp.c 2007-11-12 10:18:12.571654218 +0100
@@ -1550,10 +1550,20 @@

d = c->device;
ast_mutex_lock(&d->lock);
- if (strlen(tmp)>0)
- sccp_dev_displayprinotify(d,tmp,0,0);
- else
- sccp_dev_displayprinotify(d,"Message off",0,1); //turn message off
+
+ if (strlen(tmp)>0) {
+ sccp_dev_displayprinotify(d,tmp,5,0);
+ sccp_dev_displayprompt(d,0,0,tmp,0);
+ d->phonemessage = strdup(tmp);
+ }
+ else {
+ sccp_dev_displayprinotify(d,"Message off",5,1);
+ sccp_dev_displayprompt(d,0,0,"Message off",1);
+ d->phonemessage = NULL;
+
+ }
+
+
ast_mutex_unlock(&d->lock);
return 0;
}
diff -ru chan_sccp_20071111/chan_sccp.h chan_sccp_20071111-mod/chan_sccp.h
--- chan_sccp_20071111/chan_sccp.h 2007-11-11 16:39:09.000000000 +0100
+++ chan_sccp_20071111-mod/chan_sccp.h 2007-11-12 10:14:30.925139313 +0100
@@ -399,6 +399,7 @@
sccp_hint_t * hints; /*!< list of hint pointers. Internal lines to notify the state */
pthread_t postregistration_thread;
struct ast_variable * variables; /*!< Channel variables to set */
+ char * phonemessage;
};

struct sccp_session {
diff -ru chan_sccp_20071111/sccp_device.c chan_sccp_20071111-mod/sccp_device.c
--- chan_sccp_20071111/sccp_device.c 2007-11-11 17:38:21.000000000 +0100
+++ chan_sccp_20071111-mod/sccp_device.c 2007-11-12 10:20:15.740831565 +0100
@@ -609,6 +609,11 @@

sccp_dev_clearprompt(d, 0, 0);
sccp_dev_displayprompt(d, 0, 0, SKINNY_DISP_YOUR_CURRENT_OPTIONS, 0);
+
+ if (d->phonemessage)
+ sccp_dev_displayprompt(d,0,0,d->phonemessage,0);
+
+
sccp_dev_set_keyset(d, 0, 0, KEYMODE_ONHOOK); /* this is for redial softkey */

/* check for forward to display */
 

chaos2000

Aktives Mitglied
Mitglied seit
22 Aug 2004
Beiträge
2,028
Punkte für Reaktionen
0
Punkte
36
Kannst Du den patch mal bei sf hinterlegen, ich baue es heute abend noch ein.

Das mit dem speichern kann ich auch noch machen - müsste auch noch was hinzufügen (user defined DND)
 
Zuletzt bearbeitet:

fsiggi

Neuer User
Mitglied seit
18 Dez 2006
Beiträge
97
Punkte für Reaktionen
0
Punkte
0
Hab den Patch bei SF hochgeladen.
 

chaos2000

Aktives Mitglied
Mitglied seit
22 Aug 2004
Beiträge
2,028
Punkte für Reaktionen
0
Punkte
36
Ich könnte mir noch ein Problem vorstellen.
Wenn man schon eine DND-Message auf dem Display hat wird diese "gelöscht" und man vergisst vielleicht den status.
 

fsiggi

Neuer User
Mitglied seit
18 Dez 2006
Beiträge
97
Punkte für Reaktionen
0
Punkte
0
Die DND-Meldung hat Vorrang. Sie wird zwar durch die andere Meldung überdeckt, aber wenn man abhebt und wieder auflegt taucht die DND-Meldung wieder auf. Stellt man DND wieder ab, taucht die andere Meldung wieder auf.
 

chaos2000

Aktives Mitglied
Mitglied seit
22 Aug 2004
Beiträge
2,028
Punkte für Reaktionen
0
Punkte
36
Zuletzt bearbeitet:

Mysterious

Neuer User
Mitglied seit
3 Nov 2005
Beiträge
158
Punkte für Reaktionen
0
Punkte
0
Hi, wollte soeben auf nem 1.4er Asterisk das Modul kompilieren aber bekomme folgende Fehlermeldung:

Code:
asterisk:/usr/src/asterisk/chan_sccp_20071111# make
sh ./create_config.sh "/usr/include"
Now compiling .... chan_sccp.c          1758 lines
chan_sccp.c: In function 'sccp_request':
chan_sccp.c:168: warning: passing argument 1 of 'ast_copy_string' discards qualifiers from pointer target type
chan_sccp.c:175: warning: passing argument 1 of 'ast_copy_string' discards qualifiers from pointer target type
chan_sccp.c: In function 'reload_config':
chan_sccp.c:1461: error: incompatible type for argument 1 of 'ast_inet_ntoa'
chan_sccp.c:1461: error: too many arguments to function 'ast_inet_ntoa'
chan_sccp.c:1470: error: incompatible type for argument 1 of 'ast_inet_ntoa'
chan_sccp.c:1470: error: too many arguments to function 'ast_inet_ntoa'
chan_sccp.c:1477: error: incompatible type for argument 1 of 'ast_inet_ntoa'
chan_sccp.c:1477: error: too many arguments to function 'ast_inet_ntoa'
chan_sccp.c:1486: error: incompatible type for argument 1 of 'ast_inet_ntoa'
chan_sccp.c:1486: error: too many arguments to function 'ast_inet_ntoa'
chan_sccp.c: At top level:
chan_sccp.c:1564: warning: function declaration isn't a prototype
chan_sccp.c:1633: warning: function declaration isn't a prototype
chan_sccp.c: In function 'unload_module':
chan_sccp.c:1691: error: incompatible type for argument 1 of 'ast_inet_ntoa'
chan_sccp.c:1691: error: too many arguments to function 'ast_inet_ntoa'
chan_sccp.c: At top level:
chan_sccp.c:1743: warning: function declaration isn't a prototype
chan_sccp.c:1751: warning: function declaration isn't a prototype
chan_sccp.c:1755: warning: function declaration isn't a prototype
make: *** [.tmp/chan_sccp.o] Fehler 1
asterisk:/usr/src/asterisk/chan_sccp_20071111#
Andere Versionen für 1.4 liesen sich vorher auf diesem System kompilieren...jemand ne Idee?
 

chaos2000

Aktives Mitglied
Mitglied seit
22 Aug 2004
Beiträge
2,028
Punkte für Reaktionen
0
Punkte
36
Kannst du mal die komplette Ausgabe von make schicken, also incl. der fragen und auntworten und den found .... Zeilen?
Welche asteriskversion hast Du?
 

2bbionic

Neuer User
Mitglied seit
5 Sep 2005
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Hallo,

das Problem kam bei mir auch. Nach einem "make clean" und einem erneuten "make" kam aber das beruhigende "Creating config file"...

Ist einen Versuch wert, hier hat es bei zwei Servern funktioniert.

Grüße,

2bbionic
 

0verkill

Neuer User
Mitglied seit
14 Mai 2007
Beiträge
38
Punkte für Reaktionen
0
Punkte
0
Cs-cp7921

Hallo,

ich habe jetzt auch den sccp-b Channel getestet.
Mein 7961 funktioniert auch (unverändert^^) gut damit.
Meine 7921er haben nach wie vor ein gravierendes Thema: Sie bekommen keine Nummer zugewieden und können dadurch nicht "mitspielen" - Hängt warscheinlich daran, dass da auch steht "Skinny Phone Type : unknow(0)"...

Code:
asterisk1*CLI> sccp show device SEP001BD458E767
Current settings for selected Device
------------------------------------

MAC-Address        : SEP001BD458E767
Protocol Version   : phone=0, channel=3
Keepalive          : 60
Registration state : None(0)
State              : OnHook(0)
MWI handset light  : OFF
Description        :
Config Phone Type  :
Skinny Phone Type  : unknow(0)
Softkey support    : No
Autologin          :
Image Version      :
Timezone Offset    : 0
Capabilities       : 0x8 (alaw)
Codecs preference  : (alaw)
Can DND            : Reject
Can Transfer       : Yes
Can Park           : Yes
Private softkey    : Enabled
Can CFWDALL        : No
Can CFWBUSY        : No
Dtmf mode          : In-Band
Trust phone ip     : No
Early RTP          : No
asterisk1*CLI>
Leider habe ich in Punkto Code-Entwicklung keine Ahnung. Ich habe nur 8 7921er und mehrere Asteriske(1.2 + 1.4) und Callmanagers (4.2-6.0).
Wenn ich dazu beitragen kann, dass diese Phones funktionieren, lasst es mich wissen...

:spocht:
 

Mysterious

Neuer User
Mitglied seit
3 Nov 2005
Beiträge
158
Punkte für Reaktionen
0
Punkte
0
@ 2bbionic

Danke, das wars...musste ein "make clean" durchführen da die alten configfiles
(config.h chan_sccp.so *.tmp ) in dem tar-archiv enthalten waren und scheinbar für ne 1.2er Version ertellt wurden. Villeicht könnte man um zukünftige Probleme zu vermeiden diese Dateien vor einem Release aus dem tar-Archiv nehmen? Oder ne Prüfroutine vorher laufen lassen de sicherstellt das diese zuvor gelöscht werden?

Jetzt klappts auf jeden Fall. Danke an all die engagierten Entwickler

MFG

Mysterious
 

fsiggi

Neuer User
Mitglied seit
18 Dez 2006
Beiträge
97
Punkte für Reaktionen
0
Punkte
0
@Overkill

Hmm, da ist Autologin leer, dann holt sich das Phone auch keine Line.
 

chaos2000

Aktives Mitglied
Mitglied seit
22 Aug 2004
Beiträge
2,028
Punkte für Reaktionen
0
Punkte
36
@Mysterious

stimmt, das kann passoeren. Beim nächsten release wirds besser ;)
 

chaos2000

Aktives Mitglied
Mitglied seit
22 Aug 2004
Beiträge
2,028
Punkte für Reaktionen
0
Punkte
36
Danke danke, ich werde morgen früh das release mal aktualisieren.
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,633
Beiträge
2,024,983
Mitglieder
350,506
Neuestes Mitglied
Dave01123