} else {
sofia_clear_pflag(profile, PFLAG_T38_PASSTHRU);
}
+ } else if (!strcasecmp(var, "presence-disable-early")) {
+ if (switch_true(val)) {
+ sofia_set_pflag(profile, PFLAG_PRESENCE_DISABLE_EARLY);
+ } else {
+ sofia_clear_pflag(profile, PFLAG_PRESENCE_DISABLE_EARLY);
+ }
} else if (!strcasecmp(var, "ignore-183nosdp")) {
if (switch_true(val)) {
sofia_set_pflag(profile, PFLAG_IGNORE_183NOSDP);
} else {
sofia_clear_pflag(profile, PFLAG_T38_PASSTHRU);
}
+ } else if (!strcasecmp(var, "presence-disable-early")) {
+ if (switch_true(val)) {
+ sofia_set_pflag(profile, PFLAG_PRESENCE_DISABLE_EARLY);
+ } else {
+ sofia_clear_pflag(profile, PFLAG_PRESENCE_DISABLE_EARLY);
+ }
} else if (!strcasecmp(var, "ignore-183nosdp")) {
if (switch_true(val)) {
sofia_set_pflag(profile, PFLAG_IGNORE_183NOSDP);
if (!strcasecmp(astate, "answered")) {
astate = "confirmed";
}
-
+
if (!strcasecmp(astate, "hangup")) {
astate = "terminated";
}
+ if (!sofia_test_pflag(profile, PFLAG_PRESENCE_DISABLE_EARLY)) {
+ if (!strcasecmp(astate, "ringing") || !strcasecmp(astate, "early")) {
+ astate = "confirmed";
+ }
+ }
+
if (is_dialog) {
if (!strcasecmp(astate, "ringing")) {