diff --git a/plugins/infobip-hlr/infobip-hlr.pl b/plugins/infobip-hlr/infobip-hlr.pl new file mode 100644 index 0000000..dbecbc0 --- /dev/null +++ b/plugins/infobip-hlr/infobip-hlr.pl @@ -0,0 +1,23 @@ +# Fields described here: +# https://www.infobip.com/docs/essentials/api-essentials/smpp-specification + +sub before_dlr { + my ($request, $response) = @_; + my $dlrinfo = ${$request}{dlrinfo}; + + return 0 if $dlrinfo->{sourceaddr} ne 'HLR'; + + my $mccmnc = $dlrinfo->{'0x1416'}; + my %info = ( + mcc => substr($mccmnc, 0, 3), + mnc => substr($mccmnc, 3), + ); + + my $imsi = $dlrinfo->{'0x1403'}; + $info{imsi} = $imsi if (defined($imsi)); + + $response->{dlrinfo} = \%info; + + return 0; +} +