hi zusammen,
ich bin auch gerade dabei mir das thema push email mit dem funambol server anzuschauen. ich habe die anbindung aber noch nicht vollständig realisiert (da noch auf provider suche).
ich will meine erkenntnisse mal kurz zusammenfassen (ergaenzungen und korrekturen sind gerne willkommen):
- die opensource variante von funambol (v3.0b5) ist für push email über tcp/ip und wap vorbereitet
- tcp/ip push braucht eine konstante verbindung, das geht wohl mit einem gprs volumenpaket, aber keinesfalls mit einer wap-verbindung (da wapproxy dazwischen)
- der funambol ds server wird momentan allerdings ohne notification-module ausgeliefert
- exemplarische implementierungen können jedoch aus dem source repository heruntergeladen werden
- diese müssen jedoch gemäss des gewählten providers an die eigenen bedürfnisse angepasst werden
- der funambol server kann also momentan kein push email “out-of the-box”
falls man wap push realisieren will, muss man sich einen sms provider suchen. wap push geht naemlich ueber sms und kostet somit geld. am besten sucht man sich einen provider, der eine api zu seinem sms gateway anbietet. zb gibt von simplewire eine java api fuer deren service, SMS77.de hat eine http api. es gibt da aber auch noch andere anbieter.
die wap push implementierung geht dann ungefaehr folgendermassen (am beispiel simplewire):
- man erstellt die datei ds-server/config/com/funambol/server/notification/WAPPush.xml mit folgenden inhalt:
<?xml version="1.0" encoding="UTF-8"?>
- die datei traegt man dann ueber das admin tool bei device unter notification sender ein
- dort traegt man auch die msisdn und den notification builder ein (da nimmt man den mitgelieferten, also ds-server/config/com/funambol/server/notification/DSNotificationBuilder.xml)
- dann holt man sich die api beim provider
- und erstellt die java klasse com.funambol.server.notification.sender.SimpleWAPPushImpl auf grundlage der datei SimpleWAPSenderImpl.class (ist im sync4j cvs)
- die java datei kann da ungefähr so aussehen:
package com.funambol.server.notification.sender;
import com.funambol.framework.notification.NotificationException;
import com.simplewire.sms.*;
// Referenced classes of package com.funambol.server.notification.sender:
// WAPSender
public class SimpleWAPPushImpl extends WAPSender
{
public SimpleWAPPushImpl()
{
}
public void sendMessage(String deviceAddress, byte message[])
throws NotificationException
{
sendByte(message, deviceAddress);
}
private void sendByte(byte message[], String deviceAddress)
{
if(deviceAddress == null || deviceAddress.length() == 0)
{
deviceAddress = "Unknown";
}
try
{
SMS sms = new SMS();
// Subscriber Settings
sms.setSubscriberID("meine_id");
sms.setSubscriberPassword("mein_passwd");
// Optional Message Settings
//
// Specify a network type "hint" - helps Simplewire
// choose between a TDMA vs. GSM network for example.
// Only useful for certain types of messages such as
// binary data and if the destination
// operator runs both TDMA and GSM networks.
sms.setOptNetworkType(SMS.NETWORK_TYPE_GSM);
// Message Settings
sms.setOptType("wap_push");
sms.setOptUrl("http://mein-server.de");
sms.setDestinationAddr(deviceAddress); // das ist die msisdn
// sms.setMsgText(“Hello World From Simplewire!”);
sms.setData(message);
System.out.println(“Sending message to Simplewire…”);
// Send Message
sms.msgSend();
// submit message and check results
if (sms.submit())
{
//String serverURI = syncEngine.getConfiguration().getServerConfig().getEngineConfiguration().getServerURI();
System.out.println("Message was sent!");
}
else
{
System.out.println("Message was not sent!");
System.out.println("Error Code: " + sms.getErrorCode());
System.out.println("Error Description: " + sms.getErrorDesc());
System.out.println("Error Resolution: " + sms.getErrorResolution() + "\n");
}
}
catch(Exception ex) { }
}
}
- anschliessend kompilieren und in das funambol-server.jar aufnehmen
- ggf. die wap sms api des providers noch auf den funambol server kopieren
- man muss natuerlich vorher den email connector installiert und konfiguriert, sowie den inbox listener am laufen haben
was mir selbst noch nicht ganz klar bzw was ich noch testen muss
- der notification builder schraubt sich aus dem message body und dem header einen byte-wert (byte message[]) zusammen
- bin mir noch nicht ganz sicher, wozu dieser wert gut ist bzw welche info dem client damit mitgeteilt wird. ich vermute, dass der byte wert als binary data uber sms an den client geschickt werden muss, damit dieser als reaktion den sync ausloest.
- wap push kan optional eine url uebertragen. event. kommt hier die url des funambol servers mit enstprechenden verzeichnis rein?!
viele gruesse,
christian
Hallo zusammen!
Gibts zu diesem Thema schon irgendwelche Neuigkeiten??
Gruss,
Stefan
Hallo!
Da ich gerne PushMail realisieren würde, würde ich gerne den Sync4j Server
benutzen. Jedoch Habe ich leider im Moment nicht die Zeit zum rumprobieren.
Habe gerade schon verschiedene groupwares angesehen (kolab mit horde,
open-xchange, egroupware) und egroupware war wirklich sehr unproblematisch
zu installieren
Und vorallem läufts gut mit dem vorgegebenen System von zusammen. Die
anderen hätten ja gerne cyrus statt courier und etc.
Da ich VHCS als Verwaltung einsetzen möchte würde das nur mit viel Aufwand
gehen.
Bin mal gespannt ob schon jemand pushmail realisiert hat.
Google und die Suche hat leider kein Ergebnis geliefert.
Danke!
Gruss Michael
egroupware-german mailing list
egroupware-german@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-german
[/quote]
[/quote]