OWPL_RESULT owplLineSetOpts(const OWPL_LINE hLine, LineOptEnum Opt, const void *Data) { int *n; phVLine *vl = 0; char *s; OWSIPAccount account ; account = owplLineSipAccountGet (hLine) ; if (account <= 0) { return OWPL_RESULT_INVALID_ARGS ; } vl = ph_valid_vlid(hLine); if (!vl) { return OWPL_RESULT_FAILURE; } switch (Opt) { case OWPL_LINE_OPT_REG_TIMEOUT: n = (int*) Data; vl->regTimeout = *n; break; case OWPL_LINE_OPT_PROXY: s = (char*) Data; if (strcmp(owsip_account_proxy_get (account), s) != 0) { if (vl->LineState == LINESTATE_REGISTERED) { // Unregister it first owplLineRegister(hLine, 0); } owsip_account_proxy_set (account, s) ; } break; case OWPL_LINE_OPT_DOMAIN: s = (char*) Data; if (strcmp(owsip_account_domain_get (account), s) != 0) { if (vl->LineState == LINESTATE_REGISTERED) { // Unregister it first owplLineRegister(hLine, 0); } strcpy(owsip_account_domain_get (account), s); } break; case OWPL_LINE_OPT_ROUTEFILTERING: owsip_account_route_filter_enable(account, (int) Data); break; } return OWPL_RESULT_SUCCESS; }
MY_DLLEXPORT OWPL_RESULT owplLineSetOpts(const OWPL_LINE hLine, LineOptEnum Opt, const void *Data) { int *n; phVLine *vl = 0; char *s; vl = ph_valid_vlid(hLine); if (!vl) { return OWPL_RESULT_FAILURE; } switch (Opt) { case OWPL_LINE_OPT_REG_TIMEOUT: n = (int*) Data; vl->regTimeout = *n; break; case OWPL_LINE_OPT_PROXY: s = (char*) Data; if (strcmp(vl->proxy, s) != 0) { if (vl->LineState == LINESTATE_REGISTERED) { // Unregister it first owplLineRegister(hLine, 0); } strcpy(vl->proxy, s); } break; case OWPL_LINE_OPT_DOMAIN: s = (char*) Data; if (strcmp(vl->server, s) != 0) { if (vl->LineState == LINESTATE_REGISTERED) { // Unregister it first owplLineRegister(hLine, 0); } strcpy(vl->server, s); } break; } return OWPL_RESULT_SUCCESS; }