mirror of git://git.sysmocom.de/ofono
Fix Supplementary Service MMI strings per 22.030
This commit is contained in:
parent
77b0d38a14
commit
335749d163
27
src/common.c
27
src/common.c
|
@ -294,19 +294,34 @@ int mmi_service_code_to_bearer_class(int code)
|
||||||
{
|
{
|
||||||
int cls = 0;
|
int cls = 0;
|
||||||
|
|
||||||
|
/* Teleservices according to 22.004
|
||||||
|
* 1 - Voice
|
||||||
|
* 2 - SMS
|
||||||
|
* 3,4,5 - Unallocated
|
||||||
|
* 6 - Fax
|
||||||
|
* 7 - All Data Async
|
||||||
|
* 8 - All Data Sync
|
||||||
|
* 12 - Voice Group
|
||||||
|
*/
|
||||||
|
|
||||||
switch (code) {
|
switch (code) {
|
||||||
|
/* 22.030: 1 to 6, 12 */
|
||||||
case 10:
|
case 10:
|
||||||
cls = BEARER_CLASS_DEFAULT | BEARER_CLASS_SMS;
|
cls = BEARER_CLASS_VOICE | BEARER_CLASS_FAX | BEARER_CLASS_SMS;
|
||||||
break;
|
break;
|
||||||
|
/* 22.030: 1 */
|
||||||
case 11:
|
case 11:
|
||||||
cls = BEARER_CLASS_VOICE;
|
cls = BEARER_CLASS_VOICE;
|
||||||
break;
|
break;
|
||||||
|
/* 22.030: 2-6 */
|
||||||
case 12:
|
case 12:
|
||||||
cls = BEARER_CLASS_DATA;
|
cls = BEARER_CLASS_SMS | BEARER_CLASS_FAX;
|
||||||
break;
|
break;
|
||||||
|
/* 22.030: 6 */
|
||||||
case 13:
|
case 13:
|
||||||
cls = BEARER_CLASS_FAX;
|
cls = BEARER_CLASS_FAX;
|
||||||
break;
|
break;
|
||||||
|
/* 22.030: 2 */
|
||||||
case 16:
|
case 16:
|
||||||
cls = BEARER_CLASS_SMS;
|
cls = BEARER_CLASS_SMS;
|
||||||
break;
|
break;
|
||||||
|
@ -314,14 +329,15 @@ int mmi_service_code_to_bearer_class(int code)
|
||||||
case 17:
|
case 17:
|
||||||
case 18:
|
case 18:
|
||||||
break;
|
break;
|
||||||
|
/* 22.030: 1, 3 to 6, 12 */
|
||||||
case 19:
|
case 19:
|
||||||
cls = BEARER_CLASS_DEFAULT;
|
cls = BEARER_CLASS_VOICE | BEARER_CLASS_FAX;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Funny, according to 22.030, 20 implies BS 7-11 */
|
/* 22.030: 7-11 */
|
||||||
/* 22.004 only defines BS 7 (Data Sync) & BS 8 (Data Async) */
|
/* 22.004 only defines BS 7 (Data Sync) & BS 8 (Data Async) */
|
||||||
case 20:
|
case 20:
|
||||||
cls = BEARER_CLASS_DATA_SYNC | BEARER_CLASS_DATA_ASYNC;
|
cls = BEARER_CLASS_DATA_ASYNC | BEARER_CLASS_DATA_SYNC;
|
||||||
break;
|
break;
|
||||||
/* According to 22.030: All Async */
|
/* According to 22.030: All Async */
|
||||||
case 21:
|
case 21:
|
||||||
|
@ -555,6 +571,7 @@ const char *bearer_class_to_string(enum bearer_class cls)
|
||||||
case BEARER_CLASS_PAD:
|
case BEARER_CLASS_PAD:
|
||||||
return bearer_class_lut[7];
|
return bearer_class_lut[7];
|
||||||
case BEARER_CLASS_DEFAULT:
|
case BEARER_CLASS_DEFAULT:
|
||||||
|
case BEARER_CLASS_SS_DEFAULT:
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -111,6 +111,8 @@ enum bearer_class {
|
||||||
BEARER_CLASS_SMS = 8,
|
BEARER_CLASS_SMS = 8,
|
||||||
BEARER_CLASS_DATA_SYNC = 16,
|
BEARER_CLASS_DATA_SYNC = 16,
|
||||||
BEARER_CLASS_DATA_ASYNC = 32,
|
BEARER_CLASS_DATA_ASYNC = 32,
|
||||||
|
/* According to 22.030, types 1-12 */
|
||||||
|
BEARER_CLASS_SS_DEFAULT = 61,
|
||||||
BEARER_CLASS_PACKET = 64,
|
BEARER_CLASS_PACKET = 64,
|
||||||
BEARER_CLASS_PAD = 128
|
BEARER_CLASS_PAD = 128
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue