You don't need this `else if` block, especially when it's after a return statement.  Besides, please keep flexibility whenever it's possible:
```
int items = sscanf(cmd, "%d,%d", &enable, cid);
if (items != 2) {
  ...
  return "+CME ERROR: <err>";
}

return amodem_activate_data_call(modem, cid, enable); 
```