RE: EMS and splitting
Title: RE: EMS and splitting Well, currently Kannel accepts and splits things like this: udh=5 bytes text=200bytes part 1: udh=11 bytes text=129 bytes part 2: udh=11 bytes text=71 bytes So I tried to feed it with udh=200 bytes text=5 bytes to see what happened. And smsbox fails and exits. >sure it doesnt fit into a message. how else could it split an UDH? If kannel doesn't know how to handle anything, it must report it, not exit. I think everybody agrees this is a bug. Angel Fradejas. -Mensaje original-De: Andreas Fink [mailto:[EMAIL PROTECTED]]Enviado el: jueves 17 de enero de 2002 12:16Para: Angel FradejasAsunto: RE: EMS and splitting Ok, the general opinion seems to maintain Kannel as simple as possible, and I agree. So I'll keep EMS splitting out of kannel, in my calling application. But I think smsbox must not panic with any given input, so I'll try to fix that. Currently smsbox doesn't like big UDH's (140+), so I'll take a look at it. sure it doesnt fit into a message. how else could it split an UDH? The information in a EMS UDH is relative to the part it is sending. -- Andreas FinkFink-Consulting--Tel: +41-61-6932730 Fax: +41-61-6932729 Mobile: +41-79-2457333Address: A. Fink, Schwarzwaldallee 16, 4058 Basel, SwitzerlandE-Mail: [EMAIL PROTECTED] Homepage: http://www.finkconsulting.com--Something urgent? Try http://www.smsrelay.com/ Nickname afink
RE: EMS and splitting
Title: Re: EMS and splitting Ok, the general opinion seems to maintain Kannel as simple as possible, and I agree. So I'll keep EMS splitting out of kannel, in my calling application. But I think smsbox must not panic with any given input, so I'll try to fix that. Currently smsbox doesn't like big UDH's (140+), so I'll take a look at it. The assertion failed is 2002-01-16 20:46:52 [3] PANIC: gwlib/octstr.c:260: octstr_copy_real: Assertion `len >= 0' failed. The problem is in shared.c/sms_split. How should it handle a 140+ UDH? Do we truncate it? (bad idea) Or should smsbox report a failed send (more convenient). In general neither bearerbox nor smsbox should quit because of invalid input (I'm also thinking about current posts about PDU unpacking). If we want kannel to to be like an "Apache for SMS/WAP", we have to take care of that. It must be seen and treated like a possible exploit. -Mensaje original-De: Andreas Fink [mailto:[EMAIL PROTECTED]]Enviado el: miércoles 16 de enero de 2002 22:50Para: Angel FradejasAsunto: Re: EMS and splitting I'm working on an application that uses EMS to send graphic elements in messages. It's almost done, but I've came up with a problem with large messages that needs splitting: smsbox fails to do the work, it exists with a failed assertion. If the message fits in a single sms, everything is fine. if you do EMS, you need to split the message BEFORE you send it to smsbox. The reason for that is that the UDH header actually contains the data of the pictures, not the content itself. and usually that's the thing which grows bigger. SMSBox is not ready to handle that. Furthermore the individual UDH headers of every partial SMS have relative references to the relative text part of the corresponding part so it means you need to know the context. Of course I have a workaround for this: my application takes care of correctly splitting the message into fragments, then send the fragments individually through Kannel. well then maybe the sizes dont match or something like that. But I'm interested in contributing to Kannel a patch to do the required splitting for EMS correctly. Anyone with EMS knowlegde has any ideas or advise on how to acomplish this? I mean, currently Kannel duplicates the UDH part of a large SMS into all the fragments after splitting. That's not the case win EMS, we'll have to avoid that under certain scenarios, and maintain it for others (Nokia NBS headers for example). So, traversing the UDH and treating each of the IE's separately, based on known IEI's, could be a solution. Anyone with a more elegant idea? Of course, is there any interest in doing EMS stuff inside kannel? (I mean only proper splitting, not message composition). I dont think it makes sense to split EMS inside kannel. It would result in a new format to be created for EMS input which is not standard in anyway. whats' the assertion SMSBox fails on? -- Andreas FinkFink-Consulting--Tel: +41-61-6932730 Fax: +41-61-6932729 Mobile: +41-79-2457333Address: A. Fink, Schwarzwaldallee 16, 4058 Basel, SwitzerlandE-Mail: [EMAIL PROTECTED] Homepage: http://www.finkconsulting.com--Something urgent? Try http://www.smsrelay.com/ Nickname afink
AW: EMS and splitting
Well, you do not have to teach Kannel about EMS for correct splitting. After all, EMS is just an extension for the default GSM UDH header. If the current code panics, it is clearly buggy in this regard. So my opinion: adding UDH-splitting is useful and can be added to Kannel without violating KISS principles. Regards Jörg -Ursprüngliche Nachricht- Von: Alexei Pashkovsky [mailto:[EMAIL PROTECTED]] Gesendet am: Donnerstag, 17. Januar 2002 00:08 An: Kannel Developers Betreff: Re: EMS and splitting I think as the kannel target is to stay as simple as possible, all the functionality for advanced sms services (EMS, SMART-SMS, WAP PUSH etc) should be implemented externally, so that kannel would not deal with things custom applications take care about, besides it gives more freedom for application developers. The only thing usefull indeed could be sharing the example code for such functionality. In my opinion, best way to achive kannel compatibility with udh-containing messages is to continue development of php scripts, as it was started long time ago, but depricated now. I can personally take care of this part, if there're enough interested developers. At the moment I have written scripts to support Nokia and Siemens gfx/ringtones implementations. As another usefull functionality there's a way to implement mySQL+PHP based retry mechanism for kannel, since currently Kannel does not deal with failed messages out of the box. Alexei. I'm working on an application that uses EMS to send graphic elements in messages. It's almost done, but I've came up with a problem with large messages that needs splitting: smsbox fails to do the work, it exists with a failed assertion. If the message fits in a single sms, everything is fine. Of course I have a workaround for this: my application takes care of correctly splitting the message into fragments, then send the fragments individually through Kannel. But I'm interested in contributing to Kannel a patch to do the required splitting for EMS correctly. Anyone with EMS knowlegde has any ideas or advise on how to acomplish this? I mean, currently Kannel duplicates the UDH part of a large SMS into all the fragments after splitting. That's not the case win EMS, we'll have to avoid that under certain scenarios, and maintain it for others (Nokia NBS headers for example). So, traversing the UDH and treating each of the IE's separately, based on known IEI's, could be a solution. Anyone with a more elegant idea? Of course, is there any interest in doing EMS stuff inside kannel? (I mean only proper splitting, not message composition). Angel Fradejas.
Re: EMS and splitting
I think as the kannel target is to stay as simple as possible, all the functionality for advanced sms services (EMS, SMART-SMS, WAP PUSH etc) should be implemented externally, so that kannel would not deal with things custom applications take care about, besides it gives more freedom for application developers. The only thing usefull indeed could be sharing the example code for such functionality. In my opinion, best way to achive kannel compatibility with udh-containing messages is to continue development of php scripts, as it was started long time ago, but depricated now. I can personally take care of this part, if there're enough interested developers. At the moment I have written scripts to support Nokia and Siemens gfx/ringtones implementations. As another usefull functionality there's a way to implement mySQL+PHP based retry mechanism for kannel, since currently Kannel does not deal with failed messages out of the box. Alexei. I'm working on an application that uses EMS to send graphic elements in messages. It's almost done, but I've came up with a problem with large messages that needs splitting: smsbox fails to do the work, it exists with a failed assertion. If the message fits in a single sms, everything is fine. Of course I have a workaround for this: my application takes care of correctly splitting the message into fragments, then send the fragments individually through Kannel. But I'm interested in contributing to Kannel a patch to do the required splitting for EMS correctly. Anyone with EMS knowlegde has any ideas or advise on how to acomplish this? I mean, currently Kannel duplicates the UDH part of a large SMS into all the fragments after splitting. That's not the case win EMS, we'll have to avoid that under certain scenarios, and maintain it for others (Nokia NBS headers for example). So, traversing the UDH and treating each of the IE's separately, based on known IEI's, could be a solution. Anyone with a more elegant idea? Of course, is there any interest in doing EMS stuff inside kannel? (I mean only proper splitting, not message composition). Angel Fradejas.
EMS and splitting
I'm working on an application that uses EMS to send graphic elements in messages. It's almost done, but I've came up with a problem with large messages that needs splitting: smsbox fails to do the work, it exists with a failed assertion. If the message fits in a single sms, everything is fine. Of course I have a workaround for this: my application takes care of correctly splitting the message into fragments, then send the fragments individually through Kannel. But I'm interested in contributing to Kannel a patch to do the required splitting for EMS correctly. Anyone with EMS knowlegde has any ideas or advise on how to acomplish this? I mean, currently Kannel duplicates the UDH part of a large SMS into all the fragments after splitting. That's not the case win EMS, we'll have to avoid that under certain scenarios, and maintain it for others (Nokia NBS headers for example). So, traversing the UDH and treating each of the IE's separately, based on known IEI's, could be a solution. Anyone with a more elegant idea? Of course, is there any interest in doing EMS stuff inside kannel? (I mean only proper splitting, not message composition). Angel Fradejas.