[asterisk-dev] Idea for GSoC: Support of PRACK in Asterisk

Nic Bellamy nicb-lists at vadacom.co.nz
Mon Mar 23 23:26:25 CDT 2009


Smita wrote:
> I have an idea for GSoC. From what I know, there is no early media
> support in Asterisk. Hence, the only media change request supported is
> after the INVITE transaction has been established.
>
> How good is the idea of implementing RFC 3262 in Asterisk? Are there
> currently any known requirements for it? Can someone tell me if it is
> a good idea for GSoC?
>   

PRACK is tangentially related to early media, but is not the same thing.

PRACK = PRovisional ACKnowledgement.

The idea is to provide an acknowledgement mechanism for 1xx series 
provisional responses to ensure that if they are lost somewhere on the 
network, that they will be retransmitted.

Where this helps with early media is that if a 183 Session Progress 
response is lost, the sender will keep retrying transmission until a 
PRACK is received. This solves the following situation:

A -> B: INVITE xxx
B -> A: 100 Trying
B -> A: 183 Session Progress (lost by network)

At this point, the B end may well be ringing or doing some other 
progressing type thing - but A will hear nothing.

With PRACK, you instead get:

A -> B: INVITE xxx (Require: 100rel)
B -> A: 100 Trying
B -> A: 183 Session Progress (lost by network)
B -> A: 183 Session Progress (retransmit)
A -> B: PRACK (for the 183)

If someone would pick this up as an GSoC project, I for one would 
welcome our new PRACK overlords.

Cheers,
    Nic.

-- 
Nic Bellamy,
Head Of Engineering, Vadacom Ltd - http://www.vadacom.co.nz/




More information about the asterisk-dev mailing list