Olaseni,
Я делал нечто подобное в прошлом, но я использовал Perl.То, что я сделал, взял прокси перенаправления портов, который я скачал с accordata.com.(port-proxy.pl)
Я изменил это, чтобы использовать модуль NET :: SMPP для проверки PDU при чтении входящего сокета.Как только PDU был типа «Bind_request», я проверял бы его по базе данных dbase, заменил учетные данные, если проверка прошла успешно, а затем переслал или, если учетные данные не были проверены, выполнил отклонение для клиента и отключился.В качестве альтернативы, если бы PDU содержал что-то еще, я бы перешел, используя логику, которая уже существовала в port-proxy.pl.