elibom / mokai Goto Github PK
View Code? Open in Web Editor NEWMessaging Gateway
Messaging Gateway
The receiver/processor model has the following problem. Sometimes it's necessary to add a processor in the receivers and a receiver in the processors. The solution is to rename receivers and processors to applications and connections respectively. Applications and connections can have both receivers and processors. Maybe we would want to call them just connectors instead.
Migrate the CSS to LESS.
This way, connectors can know if they are configured as connections or as applications.
Hi,
what if I want to add new key column like accountID to the connection_msg table. how can i add it? I think the idea of adding column thorugh the JSON (other column) is not recommended as the query using this column will affect the performance.
what about making the adding of table column dynamic. i.e. configurable through the configuration xml file?
Some carriers return the message_id as hexadecimal in the submit_sm response; others as decimal. We should use decimal by default and let the user specify in the configuration if the carrier is returning the message_id as hexadecimal.
Issue to mark down the release of the version 0.2.0
By default acceptors are tested using an OR (i.e. if at least one accepts the message). However, sometimes we need to explicitly define the OR if we are inside an AND acceptor.
It's been a while since JBoss deprecated the http://repository.jboss.org/maven2/
repository. The new URL is http://repository.jboss.org/nexus/content/repositories/releases
.
Sometimes delivery receipts (DLR's) are received before the submit_sm response. We are waiting indefinitely every 900 millis and this has a cost, especially if the submit_sm response is never received (or if it is a lost DLR).
We need to limit the number of retries to 10 and wait more time each time before the message is searched. First retry should wait 900 millis, second should wait 1800, third 2700 and so on.
Add the following actions so they are available out-of-the-box:
Sometimes, we need to create a connector that specifies other connectors in its configuration. We need to define a mechanism to specify this using an annotation in attributes of type org.mokai.Connector or java.util.Collection.
The user should be able to filter messages by recipient. Also, it should be able to select the status to show (multiple selection).
The connector would just log the messages that it receives.
Build a Jetty Connector that replaces the one based on Camel. It should support Basic Authentication.
Update Camel to 2.7.5 and ActiveMQ to 5.5.0
The action will remove a property of the message.
The PluginMechanism interface should expose methods to hot-deploy plugins (add or remove).
Implement this feature in the JpfPluginMechanism implementation.
When connectors exceed the screen height, the vertical scrollbar should appear to see the rest of the content.
The SMPP Server should accept client connections, receive and send messages.
It would allow users test the routes from the Web Admin Console. It should allow the user set the direction of the message and multiple properties (suggestions for common properties such as 'to', 'from', 'text', etc.).
Vaadin was a poor choice for the web administration console. We can do a better job than that using a REST interface and a client using Jogger.
The user should be able to specify the data coding that is used in the SMPP connection.
I think Embedding Mokai can not be made buy creating new CamelRoutingEngine. as shown by https://github.com/germanescobar/mokai/wiki/Embedding-Mokai. because the routing engine then will use the default settings like the "DefaultMessageStore" for example. I think it should be initialized by using Spring context.
I tried to embed Mokai in a Web Application deployed in Tomcat 7.0.27 and I used the "org.springframework.web.context.ContextLoaderListener" to initialize the routingEngine, However, It was failed to get running.
Add a new column to the table that stores the additional properties of the message in JSON format.
The Mail Connector should support receiving and producing messages through the SMTP protocol (they are really two connectors - SMTPReceiver and SMTPProcessor). It should support only IMAP as POP3 has some issues identifying new messages.
Actions should be able to stop a message, split into multiple messages and aggregate messages.
DLR's are dangerous because they are generated without the user noticing it. We should only route them if the original message says they should be routed and where.
Provide an embedded JMX interface as part of the Admin Console. This is much better as the default JMX access which requires additional ports.
Right now it is not possible to modify attributes in the JMX Console. We need first to show if the attribute is writable and if it is, provide an input so the user can change it. Submit the changes immediately after the user leaves the field or clicks (for checkboxes).
The last version of the SMPP Server, which should be 0.4.0, is based on the Coudhopper API that supports NIO.
The README file should include:
It would be great to use MongoDB as a message store.
The SMPP Connector is not responding the deliver_sm messages.
We need to guarantee order.
The problem of not setting a context path is that browsers make two requests; one for the resource that is being asked for and other for the favicon.ico file. It is better to specify a context path that the connector will listen to and response 404 to everything else.
Add connectionTimeout and socketTimeout properties to the HTTPConfiguration class.
The administrator should be able to change the password of the Web Admin Console.
Hi,
I tried to send a long message, but I got ie.omk.smpp.message.InvalidParameterValueException: Message is too long exception.
The connector should accept a list of other connectors and send messages in a round-robin fashion.
Currently, the type of the smsc_commandstatus column is tinyint. However, we need to change it to smallint so we can set HTTP response codes.
Sometimes an acceptor needs to receive other acceptors. We need a way to specify this in the XML. Additionally, we can create some shortcuts like a tag <and> </and>
that underneath uses an AndAcceptor.
There should be a way in which a message could skip the routing mechanism if it already knows the destination. This should be done by setting the MK_DESTINATION property on the message with the id of the destination.
Refactor the Javascript code and use CoffeeScript instead.
Currently DLR's are getting updated on Web Interface provided / or MySql DB, but its not getting delivered to SMPP server.
For Example: Suppose i am using a third party SMPP client and connecting it to mokai SMPP via SMPP, whatever SMS i am pushing with third party SMPP G/W, DLR's are not getting recieved on third party app but its getting updated on web interface.
Pl look into it.
thanks
MS
Remove account
, body
, type
, sourceType
and destinationType
attributes. Instead of using attributes for source, destination, direction and reference, make use of the properties mechanism and create a naming convention: all properties that start with MK_ belong to Mokai including MK_SOURCE, MK_DESTINATION, MK_DIRECTION and MK_REFERENCE.
The HTTP Processor should support POST method.
Map property should have a list of 'items' with 'key' and value attributes:
<mapProperty>
<item key="f1">value1</item>
<item key="f2" value="value2" />
</mapProperty>
Nettosphere is what allow us to have Web Sockets. It runs in a separate port than the Web Console. However, we are hardcoding the port in the view's javascript. The solution is to pass the port from the Jogger controller to the view. Shouldn't be that hard.
The action will add or update the property of a message.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.