今天被同事问到了PRACK的含义,虽然心里明白,但是在感觉还是没有说清楚,其实还是自己对其认识的模糊和不彻底导致的,否则怎么可能说不清楚呢?
于是对PRACK又做了一下了解,PRACK的具体含义和使用如下:
PRACK:the Provisional Response ACKnowledgement
SIP中的最终响应被理解是会可靠传输的,例如对应INVITE的200OK响应,UAC会给一个ACK,告诉UAS已经收到了200OK。200与ACK间的可靠性是end-to-end的。PRACK是SIP消息中保证临时消息(101-199)可靠传输的机制。PRACK就是仿照200OK的可靠性响应,对除100以外的1xx临时响应(100是hop-to-hop的),进行可靠性传输。PRACK一般是对收到183 call in progress/180 ringing的确认,
PRACK的实现
PRACK被定义在RFC3262中。