[asterisk-dev] extend IAX2 IE proposal
Markku Korpi
markku at korpi.de
Tue Dec 12 22:06:43 MST 2006
Russell Bryant wrote:
> Mihai Balea wrote:
>> That is the theoretical maximum UDP packet size. As I mentioned in
>> one of my previous emails, Mac OSX limits UDP packets to approx. 9K.
>> I'm sure there are other systems out there that would enforce similar
>> limits (I am thinking embedded systems).
>
> Ah. Well, for this reason, as well as concerns of having to retransmit
> an extremely large Full frames, I would say that the text in the RFC
> describing this new segmented information element method should only be
> used in situations where the payload is "slightly" larger than 255
> bytes, such as the case with the OSP token information, which will take
> 4 segments. However, the text should strongly discourage use of this
> method for extremely large amounts of data.
>
>> Even if ~ 64K would be achievable, what if I need to transmit 65K? The
>> solution does not scale well and limits like this can be easily
>> exceeded in today's applications.
>
> If we come to a point where we would like to implement the ability to do
> transfers of this size, then we will have to handle it with a separate
> method.
>
>>> On the topic of holding up the link while transmitting a large
>>> packet, this isn't something that would be newly introduced into
>>> IAX2. In fact, it is normal to have extremely large IAX2 trunk
>>> frames which get transmitted a lot more often than any signaling frames.
>>
>> Trunk frames do not require retransmission.
>
> True. I was just trying to address the concern about blocking the link
> while the single large packet is transmitted.
>
>> If we're extending the protocol, I would be in favor of defining a new
>> type of large frame plus a packetization mechanism that would be able
>> to transfer an unlimited amount of data. We could have a separate
>> mechanism of retransmission if needed, as long as we do not impact the
>> existing control and media frames.
>
> I agree with you if we decide to implement a method for doing something
> like peer-to-peer file transfers over IAX2. However, I still think this
> generic IE segmentation method is perfect for OSP tokens, and perhaps
> other applications in the future which would only take a few segments.
>
There are actually two independent tasks that we need to solve, when we
carry large amounts of information in IAX2 _signalling_ messages:
Task A: Breaking the IE into segments that can be included in an IAX2
signaling message in a backward compatible manner..
Task B: If an IAX2 signaling message becomes larger than what can be
transported over the network, i.e. bigger than max UDP packet (~1500
bytes), the IAX2 message needs to be broken into pieces, i.e. need to be
segmented.
The purpose of the current IE segmentation proposal is to cover the task
A (only), and it already covers the OP's OSPTOKEN application in a
future proof manner.
However, if we do not create additionally an IAX2 message segmentation
method, there is no way to transport transport, for example, an IAX2 NEW
message that contains a bit more supplementary service information in
addition to the OSPTOKEN. In other words, the IAX2 signalling message
size limit can be hit fairly easily with single IEs and a couple of
segmented IEs.
I am not taking a position, whether a particular application needs to be
implemented using IAX2 signaling transport, but just saying that there
are signaling applications requiring IAX2 message segmentation. If this
requirement is agreed I can make a proposal for message segmentation.
Markku
More information about the asterisk-dev
mailing list