[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