Большинство GSM модемов поставляется с собственной библиотекой. Вам не нужно, чтобы библиотека была написана на C #. Обычно это будет в dll или exe. Если это dll, написанная с использованием C ++, вы все равно можете вызвать ее функцию через p / invoke. Вам просто нужно знать сигнатуру функции, чтобы правильно отправлять и извлекать из нее данные. Проверьте документацию. Если это исполняемый файл, скорее всего, он основан на командной строке, то вы можете вызвать его с помощью Process.Start () и вставить то, что вы хотите отправить через аргумент.