Re: [PATCH] DLR with field_dst not supported in Mysql/Pgsql
Olivier Dormond <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Organization | Mobile News Channel SA |
| Message-ID | <[email protected]> |
Hello, Stipe Tolj wrote: > same with me... The problem is that it's not trivial. > > And by having a generic discussion about it *NOW*, will have us on the > way in solving it. > > Ok, can you express an architecture concept on how MSISDN scheme policy > should be handled? I think the simplest thing would be to handle all long number internally as international number (they would all start by a +) and keep the short number as is. Translation of the phone number to other format should only occur during input/output operations: - For outgoing messages (be it bearerbox -> smsc or smsbox -> app) it's pretty simple. If the message start with a + a simple mapping is applied to replace the +<country code> with what the user wants. Otherwise it is left as is. The present unified_prefix mechanism is nice for this (it would even gets simpler as we map +<country code> to <local prefix>, so no multiple value mapping). N+1 config parameters are needed, 1 for the smsbox -> app and N for the N smsc configured. Potentially, a fallback value might be introduced to avoid duplicating the value N times. - For incoming messages (smsc -> bearerbox or app -> smsbox) we need to figure out if the number is a short number or not. So here the best thing would be to use a list of regular expressions. With this approach the problem is how to specify these regex in the configuration file. Maybe something like: "<regex with one group>",...:<country code to replace the group> (the + would also be prepended so it's not needed in the config). It might also be possible to use some kind of unified_prefix mapping plus a size threshold. This is a more restricted approach but it might provides room for a backward compatibility if a default threshold (6?) is given. In this second scenario, if the number is larger than the threshold but it doesn't match any prefix than an error should be raised or a + prepended and a warning issued. This more complicated mechanism is needed to handle the use of a modem as a smsc because a modem can receive messages from both long and short numbers and also because the app might send pretty much everything. So that give essentially also N+1 or N+2 configuration values where N is the number of smscs and we have a +1 for the app -> smsbox and a +1 for the threshold. - For internal messages (bearerbox <-> smsbox) nothing happens. For the routing feature I don't know what is needed as I've never used that feature. Cheers, Olivier -- ---------------------------------------------------------------------- Mobile News Channel Direct phone: +41 21 317 50 25 Olivier Dormond Central: +41 21 317 50 20 Av. de la Gare 10 1003 Lausanne Email: [email protected]