[asterisk-dev] extend IAX2 IE proposal
Markku Korpi
markku at korpi.de
Sun Dec 3 22:23:11 MST 2006
Tim Panton wrote:
>
> On 3 Dec 2006, at 21:11, Derek Smithies wrote:
>
>> Hi, On Sun, 3 Dec 2006, Markku Korpi wrote:
>>> Derek Smithies wrote:
>>>> On Wed, 29 Nov 2006, Kevin P. Fleming wrote:
>>>>> Di-Shi Sun wrote:>
>>>
>>> The third option could be to add a segmentation procedure in a
>>> similar way as they are used e.g. in SS7 ISUP and Q.931. In this
>>> case we would need to select a message coding scheme that would
>>> cause an old client/peer to throw away the segment message, but
>>> proceed with the non-segmented content.
>>>
>> Are you suggesting to segment a large block of data into 250 byte
>> (say) chunks, with each chunk in a separate IE? Place a header byte
>> (or two) as the first element of the data field stating where this
>> chunk is in the large block of data ?
Yes, that would be roughly the segmentation principle, if we allow
segmentation at any octet boundary.
However, it would simplify the call processing, if we would/could split
messages to segments at their IE boundaries only. This would allow
reception of IEs contained in the segments in one step without a need to
store the chunks and reassemble them back to a full message. The
downside, this simplification would limit the max IE size to one
segment, which could become a major limitation, probably sooner than
later...
But perhaps there is a compromise.
>
> But Kevin's point still applies, IAX doesn't support multiple
> instances of the same IE type in a message. So to implement your
> scheme you need to allocate new IE types called ExtendedMessage0
> through to ExtendedMessage32 (or whatever) - which then obviates the
> the need for the second 'sequence' byte in the data.
>
> Anyhow, I can't help feeling this is the wrong way to tackle the
> problem (admittedly we have not had the actual problem described,
> just a possible solution).
>
> Depending on what (exactly) the OP is trying to do, using one of the
> existing frame types seems like a better plan than using an IE,
> perhaps a 'pseudo' image or provisioning frame ?
>
If I interpret the OP correctly, he has faced two different problems
when trying to implement new services over IAX:
- Repeating the same information element in an IAX message
- Sending messages when the IAX message size is exceeded
Segmentation could solve the latter problem in a backward compatible
manner. The IAX message size limit is reached quite quickly, when we
start implementing supplementary services over IAX.
Repetition is required, too, and is a very useful feature with
supplementary services - for example listing of forwarding points in
case of multiple call forwarding.
Like Russell said in his reply, the IAX protocol itself does not hinder
repetition - only the current messages do not use it yet.
Markku
More information about the asterisk-dev
mailing list