] > Why omit PID if it is zero? Isn't it a valid value? ] ] Yes it is, and it is the default, therefor it is not needed!
Okay, I have a response from our EMS guy, and the problem is this: Our gateway (and perhaps some others, obviously not yours) substitutes a 39(hex) instead of a zero when no PID is included! Otherwise, when a PID of zero is included, it happily uses zero. Therefore we *need* the patch to function, not because of kannel exactly, but because our gateway is working in this way. It may not be standard, but then again it may not be unique either. And I think, from an architect's point of view, it's more sensible to include the exact PID that the programmer sends, rather than count on correct default behavior by all gateways! Make sense? Finally, a direct quote from Enzo the EMS expert, in case your Italian is better than mine: Ho letto la mail di Bruno. Bruno dice: se io non indico nessun pid (/////////////////) allora il valore di default e' 0 e il gateway dovrebbe usare 0. Invece non e' cosi', il nostro gateway (quello di TIM) se non riceve il valore PID mette 39 (hex). Quello che Bruno non ha capito e che alcuni gateway, se non indichi il pid (//////////////// anziche' //////0000//////) mettono 39 (hex) e non 00 (hex) come forse fa il suo gateway. Siccome lui pensa che tutti i gateway mettono 00 come valore di default, ha messo l'istruzione IF, cioe' : "se viene chiesto di impostare il PID a 00 allora ignora la richiesta perche' (errore!) tutti i gateway usano 00 come default". In other words, not all gateways are equal, please program defensively... Best, Steve
