У меня есть поток вызовов ниже, в котором у меня есть некоторая путаница, связанная с CSEQ ...
A - ПРИГЛАСИТЬ CSEQ-1-> B
A <- 180 CSEQ-1 --- B
А --ПРОК CSEQ-2-> B
A <- 183 CSEQ-1 --- B
А --ПРОК CSEQ-3-> B
A <- ОБНОВЛЕНИЕ CSEQ-2 - B
Согласно RFC 3261 - «Номер CSeq увеличивается для каждого нового запроса в диалоговом окне».
Но в то же время RFC говорит, что:
«Запросы внутри диалога ДОЛЖНЫ содержать строго монотонно увеличивающиеся и непрерывные порядковые номера CSeq (увеличивающиеся на единицу) в каждом направлении (за исключением, конечно, ACK и CANCEL, номера которых равны запросам, которые подтверждаются или отменяются)».
Сравнивая то, что я понял из RFC, с потоком вызовов, который у меня есть: -
- I guess UPDATE CSEQ is correct here because RFC says EACH direction should maintain CSEQ individually and should be incremented with the previous request CSEQ...
- Since in my call flow INVITE direction is from A-to-B its CSeq will be maintained by A and UPDATE is sent by B so its CSEQ should be maintained by B ...
- Both direction CSEQ are independent of each other and to validate the CSEQ RFC says:-
"Two CSeq header fields are considered equal if the sequence number and the request method are identical. Example:
CSeq: 4711 INVITE"
Любые мысли и предложения по этому поводу будут оценены ????