import asyncio
import smpp34
async def main() -> None:
client = smpp34.Client(
host="127.0.0.1",
port=2775,
system_id="esme1",
password="secret",
bind_type="TRX",
)
smsc = await client.connect()
print("bound to", smsc.system_id, "(session", smsc.session_id + ")")
resp = await smsc.submit_sm(
destination_addr="31600000000",
source_addr="12345",
short_message=b"hello from python",
)
print("submit_sm_resp:", resp.message_id, "success=", resp.is_success)
ev = await smsc.next()
if isinstance(ev, smpp34.DeliverSmEvent):
print(f"MT deliver_sm {ev.source_addr} -> {ev.destination_addr}: {ev.short_message!r}")
elif isinstance(ev, smpp34.Disconnected):
print("session closed")
await smsc.unbind()
if __name__ == "__main__":
asyncio.run(main())