…ere were no active calls. In AKCallController's hangUp: renamed to hangUpCall:, forceCallHangUp became forceEndedCallState which doesn't hang up a call, but explicitly sets its state to AKTelephoneCallDisconnectedState. Without that if the call is deallocated it can try to hang up itself causing the pjsua assertion. In AKTelephoneCall hangUp now checks not only call identifier but also call state. Removed call identifier check in dealloc before hanging up the call. Removed unnecessary call retains for the calls returning from AKTelephone's telephoneCallByIdentifier:. AKTelephone makes immutable copy of accounts and calls searching for the call by its identifier. Added stopTelephone method to the AppController. It hangs up all calls, forces ended call state in call controllers, removes all accounts from Telephone and destroys SIP user agent. This is useful when application is shutting down or computer goes to sleep.
…leCallHold: and toggleMicrophoneMute: AKCallController actions. Added hasActiveMedia property to AKTelephoneCall. AKTelephoneCallMediaActiveNotification renamed to AKTelephoneCallMediaDidBecomeActiveNotification. Changed capitalization of "mic muted", "mic unmuted", "on hold", and "on remote hold" call statuses.
…l. Added ringtoneOutputDeviceIndex ivar and property to the AppController. "incomingCallSound" renamed to "ringtone", "incomingCallSoundTimer" renamed to "ringtoneTimer". audioDevices got new key AKAudioDeviceUID and became an immutable array. Appropriate audio output for the ringtone is selected in setRingtone: and selectSoundIO:. - Renamed AppController's methods: "startIncomingCallSoundTimer" to "startRingtoneTimer", "stopIncomingCallSoundTimer" to "stopRingtoneTimer", and "incomingCallSoundTimerTick:" to "ringtoneTimerTick:". - Fixed an issue in which ringtone could stop playing when there were multiple simultaneous incoming calls. Changed the way hasIncomingCallControllers AppController method determines the existence of active ringing incoming calls. Now it checks not only AKTelephoneCallIncomingState, but also AKTelephoneCallEarlyState and sends isIncoming message to the call. - In AKPreferenceController "ringingSoundPopUp" renamed to "ringtonePopUp", "changeIncomingCallSound" renamed to "changeRingtone". - selectSoundIO message inside AppController's updateAudioDevices is sent to the main thread.
…ld lead to substitution of a company name.
… created before the actual call attempt. Added "Call Failed" status to all languages to indicate outgoing call error. Changed AKCallController's designated initializer from initWithTelephoneCall:accountController: to initWithAccountController:. Added a setter for the "call" ivar and property where call's delegate is set to the call controller.
…leased in the dealloc.
…y UseDNSSRV is available through the defaults utility. Current system DNS servers will be copied on the application startup to resolve SRV records. User-Agent string is now generated automatically with "<bundle name> <bundle short version>".
… after clicking the dock icon.
…e entered during a call.
…utgoing call after switching phone in the token menu.
Added phone label in the call status string for outgoing calls, if the label is known. NSTokenField callDestination now contains an array of dictionaries, not an array of URIs.
…one label (mobile, home, etc.) from the address book for the incoming call number. Added a category to ABAddressBook with the method AK_localizedLabel:. It returns localized phone label. Added ivar an property phoneLabelFromAddressBook to AKCallController to store caller's phone label from the address book. Added AddressBookLabels.strings file for all supported localizations. It contains phone number labels translations.
…nd caller's name in the Address Book if the phone number stored with spaces, dashes or other dividers.