|
@@ -1424,6 +1424,10 @@ static int pv_get_dsg(sip_msg_t *msg, pv_param_t *param, pv_value_t *res)
|
|
return pv_get_sintval(msg, param, res, active);
|
|
return pv_get_sintval(msg, param, res, active);
|
|
case 2: /* inactive */
|
|
case 2: /* inactive */
|
|
return pv_get_sintval(msg, param, res, inactive);
|
|
return pv_get_sintval(msg, param, res, inactive);
|
|
|
|
+ case 3: /* pactive */
|
|
|
|
+ return pv_get_sintval(msg, param, res, (int)((active*100)/count));
|
|
|
|
+ case 4: /* pinactive */
|
|
|
|
+ return pv_get_sintval(msg, param, res, (int)((inactive*100)/count));
|
|
default:
|
|
default:
|
|
return pv_get_null(msg, param, res);
|
|
return pv_get_null(msg, param, res);
|
|
}
|
|
}
|
|
@@ -1450,12 +1454,24 @@ static int pv_parse_dsg(pv_spec_p sp, str *in)
|
|
else
|
|
else
|
|
goto error;
|
|
goto error;
|
|
break;
|
|
break;
|
|
|
|
+ case 7:
|
|
|
|
+ if(strncmp(in->s, "pactive", 7) == 0)
|
|
|
|
+ sp->pvp.pvn.u.isname.name.n = 3;
|
|
|
|
+ else
|
|
|
|
+ goto error;
|
|
|
|
+ break;
|
|
case 8:
|
|
case 8:
|
|
if(strncmp(in->s, "inactive", 8) == 0)
|
|
if(strncmp(in->s, "inactive", 8) == 0)
|
|
sp->pvp.pvn.u.isname.name.n = 2;
|
|
sp->pvp.pvn.u.isname.name.n = 2;
|
|
else
|
|
else
|
|
goto error;
|
|
goto error;
|
|
break;
|
|
break;
|
|
|
|
+ case 9:
|
|
|
|
+ if(strncmp(in->s, "pinactive", 9) == 0)
|
|
|
|
+ sp->pvp.pvn.u.isname.name.n = 4;
|
|
|
|
+ else
|
|
|
|
+ goto error;
|
|
|
|
+ break;
|
|
default:
|
|
default:
|
|
goto error;
|
|
goto error;
|
|
}
|
|
}
|