SMS » History » Version 1
laforge, 03/15/2018 10:11 PM
1 | 1 | laforge | h1. SMS |
---|---|---|---|
2 | |||
3 | h2. SMS between two autonomous networks |
||
4 | |||
5 | {{mscgen_link() |
||
6 | msc { |
||
7 | hscale = 2; |
||
8 | ms [label="MS (village A)"], vlr [label="MSC/VLR/SMSC (village A)"], vlrb [label="MSC/VLR/SMSC (village B)"], msb [label="MS (village B)"]; |
||
9 | ms => vlr [label="SMS SUBMIT"]; |
||
10 | vlr => vlr [label="Store SMS in local queue"]; |
||
11 | ms <= vlr [label="SMS SUBMIT ACK"]; |
||
12 | vlr => vlrb [label="mDNS Query (dest MSISDN"]; |
||
13 | vlr <= vlr [label="mDNS Response (MSC[B] IP addr"]; |
||
14 | vlr => vlrb [label="MO-Forward-SM REQ"]; |
||
15 | vlrb => msb [label="Paging / Channel Setup"]; |
||
16 | vlrb <=> msb [label="MM Common Procedures (AUTH, ...)"]; |
||
17 | vlrb => msb [label="SMS DELIVER"]; |
||
18 | vlrb <= msb [label="SMS DELIVER ACK"]; |
||
19 | vlr <= vlrb [label="MO-Forward-SM RESP"]; |
||
20 | ...; |
||
21 | ...; |
||
22 | ...; |
||
23 | } |
||
24 | }} |
||
25 | |||
26 | * we store the SMS in a queue/database in the local village to ensure SMS are ACKed as soon as possible to |
||
27 | ** minimize use of radio resource (air time) |
||
28 | ** smooth user experience (SMS can be sent without problems, like in normal network) - even in case of backhaul outage |
||
29 | * the village-local SMSC then stores the message in its queue and regularly (re-)tries to reach village B |
||
30 | * there is no queueing in village B in the current proposal, meaning SMS delivery is only successful if both MS B is registered and village A has connectivity to village B at the same time |
||
31 | ** this is now it works in regular GSM networks |
||
32 | ** we could probably also have a queue on the B side, this is TBD |
||
33 | |||
34 | h2. SMS from external network |
||
35 | |||
36 | same as above, with MS-A and MSC-A replaced with some external entity. It starts with the mDNS query to find out where MS-B currently is registered |