elibom / mokai Goto Github PK
View Code? Open in Web Editor NEWMessaging Gateway
Messaging Gateway
The last version of the SMPP Server, which should be 0.4.0, is based on the Coudhopper API that supports NIO.
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.
The action will add or update the property of a message.
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.
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.
The SMPP Connector is not responding the deliver_sm messages.
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).
Provide an embedded JMX interface as part of the Admin Console. This is much better as the default JMX access which requires additional ports.
The HTTP Processor should support POST method.
Migrate the CSS to LESS.
Build a Jetty Connector that replaces the one based on Camel. It should support Basic Authentication.
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.
We need to guarantee order.
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>
The administrator should be able to change the password of the Web Admin Console.
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.
It would be great to use MongoDB as a message store.
Actions should be able to stop a message, split into multiple messages and aggregate messages.
The SMPP Server should accept client connections, receive and send messages.
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.
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.
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.
The user should be able to filter messages by recipient. Also, it should be able to select the status to show (multiple selection).
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.).
Add connectionTimeout and socketTimeout properties to the HTTPConfiguration class.
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 PluginMechanism interface should expose methods to hot-deploy plugins (add or remove).
Implement this feature in the JpfPluginMechanism implementation.
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.
The connector should accept a list of other connectors and send messages in a round-robin fashion.
Hi,
I tried to send a long message, but I got ie.omk.smpp.message.InvalidParameterValueException: Message is too long exception.
Add a new column to the table that stores the additional properties of the message in JSON format.
The README file should include:
The user should be able to specify the data coding that is used in the SMPP connection.
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?
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
.
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.
This way, connectors can know if they are configured as connections or as applications.
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.
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.
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 remove a property of the message.
Update Camel to 2.7.5 and ActiveMQ to 5.5.0
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.
Issue to mark down the release of the version 0.2.0
Refactor the Javascript code and use CoffeeScript instead.
Add the following actions so they are available out-of-the-box:
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
When connectors exceed the screen height, the vertical scrollbar should appear to see the rest of the content.
The connector would just log the messages that it receives.
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.