Headers transit
By default Yeti are not relaying any headers from one call leg to another. Headers transit mechanism allows to configure such relaying.
After the routing, YETI performs filtering twice: for the origination Gateway and for the termination Gateway. Gateway’s parameter Transit headers from origination describes the transfer of headers from LegA to LegB, the parameter Transit headers from termination - from LegB to LegA.
For example, an incoming call arrives via the Gateway orig_gw and terminates via the Gateway term_gw with the corresponding settings.
- orig_gw:
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-H
Transit headers from termination= X-YETI-AUTH*
Then in case of receiving INVITE from orig_gw with such headers:
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-H, X-YETI* and X-TEST-H) and, after filtering, INVITE will be formed to the term_gw with such headers:
X-TEST-H: 123
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-AUTH-11 filter) and after filtering, a 200OK message will be generated to orig_gw with the following headers:
X-YETI-AUTH-11: 11
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