/// <summary> /// Event handler fired in response to change in registration state /// </summary> /// <param name="sender"></param> /// <param name="args"></param> void phone_RegistrationStateChanged(object sender, RegistrationStateChangedEventArgs args) { display("Registration State = " + args.NewState); if (args.NewState == RegistrationStateChangedEventArgs.State.Registered) { lock (this) { isRegistered = true; sendRegistrationEvent(); } setState(CurrentState.READY); // Enable intercall timer display("Enabling intercall wait timer"); interCallTimer.Enabled = true; } if (isRegistered ==true && (args.NewState == RegistrationStateChangedEventArgs.State.Error || args.NewState == RegistrationStateChangedEventArgs.State.Rejected || args.NewState == RegistrationStateChangedEventArgs.State.NotRegistered)) { Trace.WriteLine("Registration Failed", "Error"); // If the caller was previously registered, and it received failed registration message, exit with appropriate error code Environment.Exit(ReturnCode.FAILED_REGISTRATION); } }
/// <summary> /// This event is fired in response to change in registration state. /// </summary> /// <param name="sender"></param> /// <param name="args"></param> void phone_RegistrationStateChanged(object sender, RegistrationStateChangedEventArgs args) { display("Registration State = " + args.NewState); if (args.NewState == RegistrationStateChangedEventArgs.State.Registered) { lock (this) { isRegistered = true; sendRegistrationEvent(); } setState(CurrentState.READY); } if (isRegistered == true && (args.NewState == RegistrationStateChangedEventArgs.State.Error || args.NewState == RegistrationStateChangedEventArgs.State.Rejected || args.NewState == RegistrationStateChangedEventArgs.State.NotRegistered)) { // If callee was already registered, and now it's registration failed, exit display("Registration Failed", MessageType.ERROR); Environment.Exit(ReturnCode.FAILED_REGISTRATION); } }
/// <summary> /// Called when registration state changes. /// </summary> /// <param name="sender"> Sender </param> /// <param name="e"> Event arguments </param> private void MainPage_RegistrationStateChanged(object sender, RegistrationStateChangedEventArgs e) { Log.Debug("PushReceiver", $"State Changed : [{e.state}]"); // Add your code handling registration state change here }