[Asterisk-Dev] IAX (Questions !!!!)

Frank W. Miller fwmiller at cornfed.com
Fri Feb 6 09:11:48 MST 2004

>1)Y the seqno field in IAX1 header is split into
>iseqno and oseqno(IAX2 header") ...Please specify any
>technical reason or advantage.
Iseqno is the incoming sequence number, Oseqno is the outgoing sequence 
number.  If you imagine two components of a full duplex stream, each 
directions frames are tagged.  If you are on one end, the Iseqno is the 
next expected sequence number for an incoming frame.  The Oseqno is the 
sequence number of the next frame you are going to send out.

>2)Its all on UDP then how the full header frame
>delivery is reliable .
Only Full Frames are sent reliably, all other frames (mainly Mini 
Frames) are sent unreliably.  The basic rule is a Full Frame type (with 
3 or 4 exceptions) must be acknowledged either by the "next" message 
based on where you are or by an explicit ACK message.  That is the basic 
reliability mechanism.  If an acknowledgement is not received within a 
certain time period, the Full Frame is retransmitted.  After a maximum 
number of retransmissions, the call is "torn down", which can mean a 
couple of different things in terms of messages sent, but basically 
means the call goes away on both sides.

>3)the callno member in header structure (iax.h
>teh type is unsigned short .How a longer string of the
>call can be stored in it ..or any apecific format taht
>i m unable to find out .Please specify this as well.
The Call Number is a logical endpoint address within IAX.  You can think 
of it as sort of another layer of UDP port number on top of the UDP port 
number.  It does not correspond to a dialed phone number.   Those get 
carried elsewhere.

>I didn't find my answer in code or in iax whitepaper
>so please solve my problems.
The IAX white paper is a work in progress.  I'll make sure to add these 
points to it.


Frank W. Miller
fwmiller at cornfed.com

More information about the asterisk-dev mailing list