Project

General

Profile

Call Hold SS » History » Version 3

laforge, 06/03/2018 11:25 PM

1 1 laforge
h1. Call Hold SS
2
3
Call Hold (HOLD) is specified together with Call Waiting (CW).
4
5
h2. Relevant Specifications
6
7 2 laforge
* "3GPP TS 22.083: Call Waiting (CW) and Call Hold (HOLD) supplementary service; Stage 1":http://www.etsi.org/deliver/etsi_ts/122000_122099/122083/14.00.00_60/ts_122083v140000p.pdf
8
** high-level description + definition
9 1 laforge
* "3GPP TS 23.083: Call Waiting (CW) and Call Hold (HOLD) supplementary service; Stage 2":http://www.etsi.org/deliver/etsi_ts/123000_123099/123083/14.00.00_60/ts_123083v140000p.pdf
10
** contains SDL state diagrams for VLR and MSC
11 2 laforge
* "3GPP TS 24.010: Supplementary services specification":http://www.etsi.org/deliver/etsi_ts/124000_124099/124010/14.00.00_60/ts_124010v140000p.pdf
12
* "3GPP TS 24.080: supplementary services specification; Formats and coding":http://www.etsi.org/deliver/etsi_ts/124000_124099/124080/14.01.00_60/ts_124080v140100p.pdf
13 1 laforge
* "3GPP TS 24.083: Call Waiting (CW) and Call Hold (HOLD) supplementary service; Stage 3":http://www.etsi.org/deliver/etsi_ts/124000_124099/124083/14.00.00_60/ts_124083v140000p.pdf
14
** contains information on signaling on L3 interface between MS and MSC
15
16
17
h2. Notes
18
19
* the HOLD state is not a state in the 24.007/24.008 call control state machine, but an auxiliary state machine:
20
** *Idle* before/after any HOLD or after HOLD REJECT.
21
** *Hold request* HOLD sent but no response yet
22
** *Call Held* after successful HOLD operation
23
** *Retrieve request* RETRIEVE sent but no response yet
24
25
26
h3. notification of other party
27
28
The other party is notified if SS-screening != 0:
29
** Facility/Invoke/NotifySS/HOLD
30
31
h3. HOLD activation
32
33
* MS sends HOLD
34
* MSC responds with HOLD ACK in successful case
35
* MSC responds with HOLD REJECT in error case (#29: rejected, #50: not subscribed, #69: not implemented, ...)
36
37
h3. RETRIEVE activation
38
39
* MS sends RETRIEVE
40
* MSC responds with RETRIEVE ACK in successful case
41
* MSC responds with RETRIEVE REJECT in unsuccessful case
42
43
h3. altenating between calls
44
45
The HOLD/RETRIEVE messages contain the regular CC transaction identifer, which is used to differentiate different calls.  You can put one call on hold and subsequently retrieve another.
46 3 laforge
47
h3. translation to SIP
48
49
It seems that "RFC 5359":https://tools.ietf.org/html/rfc5359 explains how to implement call hold on the SIP side.
50
51
http://www.tech-invite.com/fo-sip/tinv-fo-sip-service-01.html features a graphical message sequence chart.  Combined with what we know about the GSM side of things, it looks like
52
* the CC HOLD must be translated to a SIP INVITE(sendonly)
53
* the SIP 200 OK in response translates to CC HOLD ACK
54
* the CC RETRIEVE must be translated to a SIP INVITE(sendrecv)
55
* the SIP 200 OK in response translates to CC RETRIEVE ACK
56
57
Further references:
58
* Section B.9 of "Q.1912.5":https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-Q.1912.5-201801-I!!PDF-E&type=items explains the detailed mapping between the SDP sendrecv/recvonly/inactive/... mappings
59
* Section 7.4 of "3GPP TS 29.163":http://www.etsi.org/deliver/etsi_ts/129100_129199/129163/14.06.00_60/ts_129163v140600p.pdf seems to repeat those same mappings?
60
61
* "Cisco MGC SIP/ISUP Conversion of HOLD":https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/pgw/9/feature/module/9-7_3_/sip_isup.pdf
Add picture from clipboard (Maximum size: 48.8 MB)