[SIPForum-discussion] Response processing flowchart in statefull proxies
Yevgen Krapiva
ykrapiva at gmail.com
Thu May 14 18:05:10 UTC 2009
My fault, wrong format.
Here is updated chart.
2009/5/14, Yevgen Krapiva <ykrapiva at gmail.com>:
> Hi all.
>
> For some time I was trying to understand how statefull proxies
> must process responses. I was drawing flowcharts
> for myself and asking you silly questions.
> At last, I've managed to pick together all this stuff and decided to
> make this chart available to everyone.
>
> If you don't mind, let's verify this chart together before it is
> published somewhere.
> See attached file.
>
-------------- next part --------------
# RESPONSE PROCESSING FLOWCHART IN STATEFULL PROXIES
# SEE RFC3261 SECTION 16.7
|
| INCOMING RESPONSE
|
V
|------------------|
| FIND CONTEXT | NO |---------------------|
| CONTEXT FOUND ? |--------> | PROCESS STATELESSLY |
|------------------| |---------------------|
|
| YES
|
|----------------|
| UPDATE TIMER C |
| FOR 1XX |
|----------------|
|
|
|
|-----------------|
| REMOVE VIA | YES
| RESPONSE IS FOR |--------------------------------------------------------------|
| PROXY ? | |
|-----------------| |
| |
| NO |
| |
|-------------------| YES |-----------------| YES |
| ST >= COMPLETED ? |------------------------ | 2XX TO INVITE ? |---------| |
|-------------------| |-----------------| | |
| | | |
| NO | NO | |
| V | |
| DROP | |
| | |
| | |
| | |
|------------| NO |-------| NO | |
| RESPONSE |------> | 100 ? |---------------------------------------| |
| IS FINAL ? | |-------| | |
|------------| | | |
| | | |
| YES | YES | |
| | | |
|----------| V | |
| ADD TO | DROP | |
| RESPONSE | | |
| CONTEXT | | |
|----------| | |
| | |
| | |
| | |
|-------| YES | |
| 2XX ? |-----------------------------------------------------------| |
|-------| | |
| | |
| NO | |
| | |
|-------| YES |-----------------------------| | |
| 6XX ? |--------> | CANCEL PENDING TRANSACTIONS | | |
|-------| |-----------------------------| | |
| | | |
NO | | |-----------------| | |
| | | :: CT EVENTS :: | | |
| | | ----------------| | |
| | | TRANSPORT ERROR | | |
| | | TIMEOUT | | |
| | | TERMINATED | | |
| | |-----------------| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| <--------------------------|--------------------|-----<---- ) | ( <----|
| |
|-----------------------| |
| ST < COMPLETED | NO |
| AND | ------------> GOTO END |
| ALL CT's >= COMPLETED | |
| ----------------------| |
| |
| YES |
| |
|------------------------| |
| CHOOSE BEST RESPONSE | |
| AND | |
| AGGREGATE AUTH HEADERS | |
| IN CASE 401, 407 | |
|------------------------| |
| |
| <-------------------------------------------------------------|
|
|--------------|
| RECORD ROUTE |
|--------------|
|
|
|
|------------------|
| FORWARD RESPONSE |
|------------------|
|
|
|
|----------------------| YES |-----------------------------|
| RESPONSE WAS FINAL ? |-----------> | CANCEL PENDING TRANSACTIONS |
|----------------------| |-----------------------------|
| |
NO | <---------------------------------------/
|
|-----|
| END |
|-----|
More information about the discussion
mailing list