blob: 7f9ef189e74528a99f4f34c38c5117ed7ab01c00 [file] [log] [blame]
Pau Espin Pedrol2d16f6f2017-05-30 15:33:57 +02001#!/usr/bin/env python3
2
3# This test checks following use-cases:
4# * SMPP interface of SMSC accepts SMPP clients (ESMEs) with password previously
5# defined in its configuration file.
6# * ESME can send an SMS to an already registered MS when SMSC is in 'forward' mode.
7
8from osmo_gsm_tester.test import *
9
10SMPP_ESME_RINVDSTADR = 0x0000000B
11
12hlr = suite.hlr()
13bts = suite.bts()
14mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
15msc = suite.msc(hlr, mgcpgw)
16bsc = suite.bsc(msc)
17stp = suite.stp()
18bsc.bts_add(bts)
19
20ms = suite.modem()
21esme = suite.esme()
22msc.smsc.esme_add(esme)
23
24hlr.start()
25stp.start()
26msc.start()
27mgcpgw.start()
28bsc.start()
29bts.start()
30
31esme.connect()
32hlr.subscriber_add(ms)
33ms.connect(msc.mcc_mnc())
34
35ms.log_info()
36print('waiting for modem to attach...')
37wait(ms.is_connected, msc.mcc_mnc())
38wait(msc.subscriber_attached, ms)
39
40print('sending first sms...')
41msg = Sms(esme.msisdn, ms.msisdn, 'smpp send message')
42esme.sms_send(msg)
43wait(ms.sms_was_received, msg)
44
45print('sending second sms (unicode chars not in gsm aplhabet)...')
46msg = Sms(esme.msisdn, ms.msisdn, 'chars:[кизаçйж]')
47esme.sms_send(msg)
48wait(ms.sms_was_received, msg)
49
50# FIXME: This test is not failing with error but succeeds, need to check why: (forward vs store policy?)
51# wrong_msisdn = ms.msisdn + esme.msisdn
52# print('sending third sms (with wrong msisdn %s)' % wrong_msisdn)
53# msg = Sms(esme.msisdn, wrong_msisdn, 'smpp message with wrong dest')
54# esme.run_method_expect_failure(SMPP_ESME_RINVDSTADR, esme.sms_send, msg)
55
56esme.disconnect()