diff options
author | Yann BONNAMY <yann_bonnamy@yahoo.fr> | 2010-12-02 13:50:11 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-10-07 18:34:02 +0200 |
commit | ad18ccb9dfea854f6577041e6e8a4725e5512925 (patch) | |
tree | 677bcac23adb283368df0cab70ee957ac2920d77 /gtp | |
parent | fe5040967513616731d8151b22d26bdf74d65111 (diff) |
RAI fix
fix ggsn handling of create pdp context when RAI is included and Recovery field is absent
Signed-off-by: Yann BONNAMY <yann_bonnamy@yahoo.fr>
Diffstat (limited to 'gtp')
-rw-r--r-- | gtp/gtpie.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gtp/gtpie.c b/gtp/gtpie.c index 80370a5..39561d2 100644 --- a/gtp/gtpie.c +++ b/gtp/gtpie.c @@ -286,12 +286,20 @@ int gtpie_decaps(union gtpie_member* ie[], int version, void *pack, unsigned len } break; case GTPIE_IMSI: /* TV GTPIE types with value length 8 */ - case GTPIE_RAI: + if (j<GTPIE_SIZE) { + ie[j] = (union gtpie_member*) p; + if (GTPIE_DEBUG) printf("GTPIE_IMSI - GTPIE TV 8 found. Type %d, value 0x%llx\n", + ie[j]->tv0.t, ie[j]->tv8.v); + p+= 1 + 8; + j++; + } + break; + case GTPIE_RAI: /* TV GTPIE types with value length 6 */ if (j<GTPIE_SIZE) { ie[j] = (union gtpie_member*) p; - if (GTPIE_DEBUG) printf("GTPIE TV 8 found. Type %d, value 0x%llx\n", + if (GTPIE_DEBUG) printf("GTPIE_RAI - GTPIE TV 6 found. Type %d, value 0x%llx\n", ie[j]->tv0.t, ie[j]->tv8.v); - p+= 1 + 8; + p+= 1 + 6; j++; } break; |