[HTTP connection] [SMS conversation]
[CP] ...................... [CPA] <===== content request ====== [DC]
[CP] <== content-request == [CPA] ............................. [DC]
[CP] ------ Accepted -----> [CPA] ............................. [DC]
[CP] ====== content ======> [CPA] ............................. [DC] \
[CP] <----- Accepted ------ [CPA] ............................. [DC] \
\ repeated
[CP] ...................... [CPA] ========== content =========> [DC] *——— during
/ subscription
[CP] <== delivery report == [CPA] ............................. [DC] /
[CP] ------ Accepted -----> [CPA] ............................. [DC] /
[CP] ===== invitation ====> [CPA] ............................. [DC]
[CP] <----- Accepted ------ [CPA] ............................. [DC]
[CP] ...................... [CPA] ========== content =========> [DC]
[CP] <== delivery report == [CPA] ............................. [DC]
[CP] ------ Accepted -----> [CPA] ............................. [DC]
Note: SMPP gateway messages (passed back to CPA after sending something to
subscriber) aren't shown here as more low-level, but that's how CPA gets the
message status for e.g. delivery reports.
Note 2: the separated items are repeated during the subscription; there's a CPA side limit on the number of content-carrying messages with identical RID, so the last message could be an invitation to continue the subscription.
In sample responses these are substituted by "XXX+n" for sequential content messages and "XXX+N" for free message with an invitation to resubscribe to the service. Generally, this should be satisfied:
0 <= n <= N <= Nmaxwhere