Skip to content

Commit

Permalink
update gw doc (#156)
Browse files Browse the repository at this point in the history
* update gw doc
  • Loading branch information
dmitry-sinina authored Jan 11, 2025
1 parent d5b39a5 commit cc78474
Show file tree
Hide file tree
Showing 3 changed files with 669 additions and 352 deletions.
65 changes: 53 additions & 12 deletions en/best-practices/headers-transit.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,40 +16,81 @@ Gateway's parameter **Transit headers from origination** describes the transfer
For example, an incoming call arrives via the :ref:`Gateway <gateways>` **orig_gw** and terminates via the :ref:`Gateway <gateways>` **term_gw** with the corresponding settings.

orig_gw:
* Transit headers from origination= X-TEST-HEADER, X-YETI*
* Transit headers from termination= X-YETI*
* Transit headers from origination= X-TEST-H, X-YETI*
* Transit headers from termination= X-YETI-AUTH-11

term_gw:
* Transit headers from origination= X-TEST-HEADER
* Transit headers from origination= X-TEST-H
* Transit headers from termination= X-YETI-AUTH*

Then in case of receiving INVITE from **orig_gw** with such headers:
::

X-TEST-HEADER: 123
X-YETI-HEADER1: 321
X-TEST-H: 123
X-TEST-H2: 000
X-YETI-H1: 321
X-YETI-AUTH-HEADER: 333


It will be filtered sequentially twice (with the filter X-TEST-HEADER, X-YETI* and X-TEST-HEADER) and, after filtering, INVITE will be formed to the **term_gw** with such headers:
It will be filtered sequentially twice (with the filter X-TEST-H, X-YETI* and X-TEST-H) and, after filtering, INVITE will be formed to the **term_gw** with such headers:
::

X-TEST-HEADER: 123

X-TEST-H: 123
.. mermaid::

Thus, in case if from **term_gw** will be received **200OK** message with hiders:
graph LR
gw1[Call originator]
gw2[Termination provider]


gw1 -->|<p style='text-align:left'>legA initial INVITE with headers<br>X-TEST-H: 123<br>X-TEST-H2: 000<br>X-YETI-H1: 321<br>X-YETI-AUTH-HEADER: 333</p>| sip-session1

sip-session1 -->|<p style='text-align:left'>X-TEST-H: 123<br>X-YETI-H1: 321<br>X-YETI-AUTH-HEADER: 333</p>| sip-session2

sip-session2 -->|<p style='text-align:left'>legB SIP initial INVITE<br>X-TEST-H: 123</p>| gw2


subgraph yeti[Yeti SBC]
sip-session1[Origination gateway<br>**Transit headers from origination** = X-TEST-H, X-YETI*]
sip-session2[Termination gateway<br>**Transit headers from origination** = X-TEST-H]
end


Thus, in case if from **term_gw** will be received **200OK** message with headers:
::

X-YETI-AUTH-324: 333
X-YETI-AUTH-11: 11
X-YETI-TEST: 333

The headers will be filtered twice (by the filter X-YETI-AUTH*, and then by the X-YETI* filter) and after filtering, a **200OK** message will be generated to **orig_gw** with the following headers:
The headers will be filtered twice (by the filter X-YETI-AUTH*, and then by the X-YETI-AUTH-11 filter) and after filtering, a **200OK** message will be generated to **orig_gw** with the following headers:
::

X-YETI-AUTH-324: 333

X-YETI-AUTH-11: 11

.. mermaid::

graph RL
gw1[Call originator]
gw2[Termination provider]


gw2 -->|<p style='text-align:left'>legB 200ok with headers<br>X-YETI-AUTH-324: 333<br>X-YETI-AUTH-11: 11<br>X-YETI-TEST: 333</p>| sip-session2

sip-session2 -->|<p style='text-align:left'>X-YETI-AUTH-324: 333<br>X-YETI-AUTH-11: 11</p>| sip-session1


sip-session1 -->|<p style='text-align:left'>legA 200ok with headers<br>X-YETI-AUTH-11: 11</p>| gw1

subgraph yeti[Yeti SBC]
sip-session1[Origination gateway<br>**Transit headers from termination** = X-YETI-AUTH-11]
sip-session2[Termination gateway<br>**Transit headers from termination** = X-YETI-AUTH*]
end




Expand Down
3 changes: 3 additions & 0 deletions en/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -306,3 +306,6 @@

googleanalytics_id = "G-1YGEQV43K8"

mermaid_version = "11.4.1"


Loading

0 comments on commit cc78474

Please sign in to comment.