Meeting ID
A meeting ID is a numeric room identifier that can be used to make a group call (conference) with an application that integrates PlanetKit SDK.
LINE Planet supports a group call with SIP terminals. There are several types of SIP terminals. Typical examples are SIP phones or video conference equipment.
To support SIP terminals in your application, refer to the specification in this page to obtain a meeting ID. Users can access the group call room from SIP devices with the issued meeting ID.
Supported call type |
---|
Group call |
Data structure
The meeting ID uses the following data structure.
Meeting ID type
There are three types of meeting ID: I, S, and R. Applications must request an appropriate meeting type depending on the application scenario.
Meeting ID type | Name | Default expiration period | Description |
---|---|---|---|
I | Instant | 1 day | The meeting ID expires as soon as the meeting ends or after 24 hours. |
S | Schedule | 30 days | By default, the meeting ID expires 30 days after creation. If you restart a meeting with the same ID within 30 days, it will remain valid for another 30 days. Note: The expiration period can be configured for each service ID. If the expiration period is changed, the value will be applied instead of the default 30 days. |
R | Schedule for recurring | 365 days | By default, the meeting ID expires 365 days after creation. If you restart a meeting with the same ID within 365 days, it will remain valid for another 365 days. Note: The expiration period can be configured for each service ID. If the expiration period is changed, the value will be applied instead of the default 365 days. |
If you want to use a non-default expiration period for a meeting ID of S or R type, please contact the LINE Planet team.
Meeting ID object
APIs for meeting ID use a data structure called MeetingObject
, which is structured as follows:
Property | Type | Nullable | Description |
---|---|---|---|
id | Long | N | ID value. At least 11 digits. |
type | String | N | Meeting ID type. One of I, S, or R. |
passcode | String | N | Passcode. 6 digits. |
chatSvcId | String | N | Room's service ID |
chatId | String | N | Room ID |
created | Timestamp (milliseconds) | N | Creation time |
expireAt | Timestamp (milliseconds) | N | Expiration time. This meeting will become invalid after expireAt . |
title | String | Y | Title of the meeting |
data | String | N | Meeting data |
Create meeting
Requests a meeting ID.
Method and endpoint
-
Method: POST
-
Endpoint
/tas/v2/gcall/{roomServiceId}/{roomId}/mtg
Header
- Authorization:
Basic {your credential}
- Accept: application/json
- Content-Type: application/json
Path parameters
Parameter | Description |
---|---|
roomServiceId | Service ID of the room |
roomId | Room ID |
Request body
Parameter | Type | Required | Default value | Description |
---|---|---|---|---|
type | String | N | Meeting ID type. One of I, S, or R. | |
passcode | String | N | Random | Passcode. 6 digits. |
title | String | N | NULL | Title of the meeting. Maximum length is 128 in UTF-16. |
data | String | N | NULL | Meeting data. Maximum length is 1024 in UTF-16. |
Response
Property | Type | Description |
---|---|---|
mtg | MeetingObject | |
sipProxy | String | Group call proxy address |
sipProxyPort | Integer | Group call proxy port |
Example
Let's suppose the following:
- Service ID and the room's service ID: ex-service
- Room ID: ex-room
curl --location --request POST 'https://vpnx-stn-api.line-apps.com/tas/v2/gcall/ex-service/ex-room/mtg' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWxhZGRpbjpvcGVuX3Nlc2FtZQ==' \
--data-raw '{
"type": "I",
"passcode": "123456"
}'
{
"status": "success",
"data": {
"mtg": {
"id": 13698412732,
"type": "I",
"passcode": "123456",
"chatSvcId": "ex-service",
"chatId": "2048",
"created": 1656503468722,
"expireAt": 1656589868722,
"title": null,
"data": null
},
"sipProxy": "210.1.1.1",
"sipProxyPort": 5060
},
"timestamp": 1656503468730
}
Possible application error codes
Possible application error codes are as follows. For more information, see API v2 - Error handling.
- 400, 401, 403, 405 (meeting already exists)
- 500, 520
List meetings
Retrieves a list of available meetings.
Method and endpoint
-
Method: GET
-
Endpoint
/tas/v2/gcall/{roomServiceId}/{roomId}/mtgs
Header
- Authorization:
Basic {your credential}
- Accept: application/json
- Content-Type: application/json
Path parameters
Parameter | Description |
---|---|
roomServiceId | Service ID of the room |
roomId | Room ID |
Request body
N/A
Response
Property | Type | Description |
---|---|---|
mtgs | List of MeetingObject | Only one MeetingObject is returned currently. |
Example
Let's suppose the following:
- Service ID and the room's service ID: ex-service
- Room ID: ex-room
curl --location --request GET 'https://vpnx-stn-api.line-apps.com/tas/v2/gcall/ex-service/ex-room/mtgs' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWxhZGRpbjpvcGVuX3Nlc2FtZQ=='
{
"status": "success",
"data": {
"mtgs": [
{
"id": 73051667563,
"type": "S",
"passcode": "123456",
"chatSvcId": "ex-service",
"chatId": "ex-room",
"created": 1656503532981,
"expireAt": 1659095532981,
"title": null,
"data": null
}
]
},
"timestamp": 1656503539402
}
Possible application error codes
Possible application error codes are as follows. For more information, see API v2 - Error handling.
- 400, 401, 403
- 500, 520
Update meeting
Overwrites meeting ID properties.
Method and endpoint
-
Method: PUT
-
Endpoint
/tas/v2/gcall/{roomServiceId}/{roomId}/mtgs/{mtgId}
Header
- Authorization:
Basic {your credential}
- Accept: application/json
- Content-Type: application/json
Path parameters
Parameter | Description |
---|---|
roomServiceId | Service ID of the room |
roomId | Room ID |
mtgId | ID of the meeting to overwrite |
Request body
Parameter | Type | Required | Default value | Description |
---|---|---|---|---|
type | String | N | Meeting ID type. One of I, S, or R Available change case: S -> R | |
passcode | String | N | Random | Passcode. 6 digits. |
title | String | N | NULL | Title of the meeting. Maximum length is 128 in UTF-16. |
data | String | N | NULL | Meeting data. Maximum length is 1024 in UTF-16. |
Response
Property | Type | Description |
---|---|---|
mtg | MeetingObject | Meeting object |
Example 1
Let's suppose the following:
- Service ID and the room's service ID: ex-service
- Room ID: ex-room
- Meeting ID: 73051667563
- Current meeting type: S
The following example shows an attempt to change the meeting type to R.
curl --location --request PUT 'https://vpnx-stn-api.line-apps.com/tas/v2/gcall/ex-service/ex-room/mtg/73051667563' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWxhZGRpbjpvcGVuX3Nlc2FtZQ==' \
--data-raw '{
"type": "R"
}'
{
"status": "success",
"data": {
"id": 73051667563,
"type": "R",
"passcode": "123456",
"chatSvcId": "ex-service",
"chatId": "ex-room",
"created": 1656503532981,
"expireAt": 1688039617461,
"title": null,
"data": null
},
"timestamp": 1656503617497
}
Example 2
Let's suppose the following:
- Service ID and the room's service ID: ex-service
- Room ID: ex-room
- Meeting ID: 73051667563
- Current meeting type: R
The following example shows an attempt to change the meeting type to S.
curl --location --request PUT 'https://vpnx-stn-api.line-apps.com/tas/v2/gcall/ex-service/ex-room/mtg/73051667563' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWxhZGRpbjpvcGVuX3Nlc2FtZQ==' \
--data-raw '{
"type": "S"
}'
{
"status": "error",
"message": "current type cannot be converted to nextType. R -> S",
"code": "405",
"data": {},
"timestamp": 1657108897760
}
Possible application error codes
Possible application error codes are as follows. For more information, see API v2 - Error handling.
- 400, 401, 403, 404, 405, 435 (current type cannot be converted to the requested type)
- 500, 520
Delete meeting
Deletes a meeting.
Method and endpoint
-
Method: DELETE
-
Endpoint
/tas/v2/gcall/{roomServiceId}/{roomId}/mtgs/{mtgId}
Header
- Authorization:
Basic {your credential}
- Accept: application/json
- Content-Type: application/json
Path parameters
Parameter | Description |
---|---|
roomServiceId | Service ID of the room |
roomId | Room ID |
mtgId | ID of the meeting to delete |
Request body
N/A
Response
N/A
Example
Let's suppose the following:
- Service ID and the room's service ID: ex-service
- Room ID: ex-room
- Meeting ID: 73051667563
curl --location --request DELETE 'https://vpnx-stn-api.line-apps.com/tas/v2/gcall/ex-service/ex-room/mtg/73051667563' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWxhZGRpbjpvcGVuX3Nlc2FtZQ=='
{
"status": "success",
"data": null,
"timestamp": 1656503704119
}
Possible application error codes
Possible application error codes are as follows. For more information, see API v2 - Error handling.
- 400, 401, 403, 404
- 500, 520