Harald Welte has uploaded this change for review. ( 
https://gerrit.osmocom.org/13377


Change subject: BSSGP_Emulation: Handle incoming BVCI=0 messages
......................................................................

BSSGP_Emulation: Handle incoming BVCI=0 messages

Like BVCI=PTP, the BVCI=0 messages must be dispatched by their
TLLI, but using the BSSGP_SP_SIG port instead of BSSGP_SP.

Change-Id: Ic456d43ec07600162991698ec3d75d36785b2fb8
---
M library/BSSGP_Emulation.ttcn
1 file changed, 21 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/77/13377/1

diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn
index fa33f51..8988926 100644
--- a/library/BSSGP_Emulation.ttcn
+++ b/library/BSSGP_Emulation.ttcn
@@ -532,7 +532,7 @@
                BSSGP_SP.send(f_dec_bssgp(udi.bssgp)) to vc_conn;
        }

-       /* Any other BSSGP message: If it has TLLi, route to component; 
otherwise broadcast */
+       /* Any other PTP BSSGP message: If it has TLLi, route to component; 
otherwise broadcast */
        [] BSCP.receive(f_BnsUdInd(?, g_cfg.bvci)) -> value udi {
                var BssgpDecoded dec := f_dec_bssgp(udi.bssgp);
                var template OCT4 tlli := f_bssgp_get_tlli(udi.bssgp);
@@ -551,6 +551,26 @@
                }
        }

+       /* Any other SIG BSSGP message: If it has TLLi, route to component; 
otherwise broadcast */
+       [] BSCP.receive(f_BnsUdInd(?, 0)) -> value udi {
+               var BssgpDecoded dec := f_dec_bssgp(udi.bssgp);
+               var template OCT4 tlli := f_bssgp_get_tlli(udi.bssgp);
+               if (isvalue(tlli)) {
+                       vc_conn := f_tbl_comp_by_tlli(valueof(tlli));
+                       BSSGP_SP_SIG.send(dec) to vc_conn;
+               } else {
+                       log("No TLLI: Broadcasting ", dec);
+                       /* broadcast this message to all components */
+                       // TITAN DOESN'T DO THIS, *SIGH*: "BSSGP_SP.send(dec) 
to all component;"
+                       for (var integer i := 0; i < sizeof(ClientTable); i := 
i+1) {
+                               if (isbound(ClientTable[i].comp_ref)) {
+                                       BSSGP_SP_SIG.send(dec) to 
ClientTable[i].comp_ref;
+                               }
+                       }
+               }
+       }
+
+
        [] BSSGP_SP_SIG.receive(PDU_BSSGP:?)-> value bs_pdu sender vc_conn {
                BSCP.send(f_BnsUdReq(bs_pdu, 0));
        }

--
To view, visit https://gerrit.osmocom.org/13377
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic456d43ec07600162991698ec3d75d36785b2fb8
Gerrit-Change-Number: 13377
Gerrit-PatchSet: 1
Gerrit-Owner: Harald Welte <lafo...@gnumonks.org>

Reply via email to