Push To Talk

RSS for tag

Let people send and receive audio in your app with the push of a button.

Posts under Push To Talk tag

90 Posts

Post

Replies

Boosts

Views

Activity

PTChannelManager Discrepancies in Documentation
Hello, I am reading up on the documentation and seems to have some discrepancies but wanted to double check. In Overview for PTChannelManager, it states "Multiple calls to channelManager(delegate:restorationDelegate:completionHandler:) result in the system returning the same shared instance, so store the channel manager in an instance variable." https://developer.apple.com/documentation/pushtotalk/ptchannelmanager However if we look at the documentation for creation of a channel manager, in the completionHandler, it states that it will return "A new channel manager instance." https://developer.apple.com/documentation/pushtotalk/ptchannelmanager/4031737-channelmanager So is it a shared instance that gets returned or will a new instance be created? Need to know if we will need to implement a multiDelegate Pattern or not for this scenario for example if someone else called this function, would they take over the callbacks or would they get their own instance? Thank you.
1
0
1k
Mar ’24
PushToTalk - On App termination
How to programmatically leave a channel when an app is forced closed? Currently when a user closes the app, the channel remains active and can still talk via the status bar. However i imagine if a user force closes the app, they no longer want to talk. I tried implementing this via  func applicationWillTerminate(_ application: UIApplication) { // leave channel code } but it doesn't seem to work
3
0
1.8k
Dec ’23
Push to talk Framework and Audio Session
I am receiving a push through "incomingPushResultForChannelManager" of Push to talk Framework and setting a remote participant through "pushResultForActiveRemoteParticipant" or setting a remote participant using "setActiveRemoteParticipant" directly in the PTT App without receiving a push. When the app establishes a remote participant on a channel, an Audio Session is started anew and will receive an active Audio Session. The problem is that the time to activate this Audio Session is not short. For this reason, there are many cases where the first part of the other party's voice passes without being played. Also, if the app is running in the foreground, even if it doesn't acquire a new audio session, it can play the voice through the app's own audio session. However, by restarting the Audio Session, the Audio Session is changed unnecessarily and the voice playback is delayed. Question. Can I set the Audio Session to not change when setting the remote participant's information? If this is not possible, please advise on a solution for the case where the audio session is activated after the voice starts to be received.
2
0
2k
Oct ’23
Source code for Push To Talk demo app?
I was just watching the Enhance voice communication with Push To Talk WWDC22 session video and was wondering (a few questions) -- (1) (when) will you be making the demo app available that was shown at the beginning of the video? (2) There was some detail given regarding the new APNs push type ("pushtotalk"), but it was unclear to me if that's something I need to handle manually, or if those will be sent automatically when I do channelManager.requestBeginTransmitting? (3) How does the audio data itself get routed around? Is that handled by the system between the requestBeginTransmitting and stopTransmitting calls? Or somehow part of the APNs payload? Or something we must handle? Thank you! thanks!!
6
1
3.9k
Oct ’23
Push To Talk System UI doesn't activate audio session
So I have been able to get my app to record and receive PTT on the foreground successfully but when pressed the talk button in the system UI or when my app is in the background, the audio session is never activated hence func channelManager(_ channelManager: PTChannelManager, didDeactivate audioSession: AVAudioSession) never get called. My question is, is there any step or requirement that might prevent the system UI from activating the audio session even though the same code works perfectly fine whenever the app is in the foreground. I appreciate your help in advance.
1
0
908
Sep ’23
func channelManager(_ channelManager: PTChannelManager, didActivate audioSession: AVAudioSession) not called in background
I tried to press system Talk button to talk in channel when my APP in background, I see the channelManager(_ : PTChannelManager, _: UUID, didBeginTransmittingFrom _: PTChannelTransmitRequestSource) is called, but the function func channelManager(_ : PTChannelManager, didActivate _: AVAudioSession) never called. When my APP in foreground, everything works fine. I've set the APP's capability Background Modes -> Push to Talk. Anyone can help?
3
0
1.3k
Aug ’23
Push To Talk expected behavior when app terminated
I'm implementing Push To Talk functionality on my app. Now I have some trouble after app process is terminated by user. In my implementation, I download voice file in func channelManager(_ channelManager: PTChannelManager, didActivate audioSession: AVAudioSession) method. It works fine when app is foreground, and also ok when app is background until app process terminated. After app process terminated, system displays PTT connection status by blue icon in status bar. Then I got some PTT message from another person, func incomingPushResult(channelManager: PTChannelManager, channelUUID: UUID, pushPayload: [String : Any]) and func channelManager(_ channelManager: PTChannelManager, didActivate audioSession: AVAudioSession) are called, but download process is not finished and I cannot get voice file. What is the expected way to download voice file in such case?
1
0
831
Aug ’23
PTChannelDescriptor is not changing when I leave and then join another channel
I am using the same ChannelManager, however when switching to another channel, I leave the channel and then requestToJoin a new channel with the new inputted ChannelName and PTDescriptor however the name and image are not changing when I go to background to see the Native UI. Am I missing something to call for an update for the PTDescriptor?
1
0
1k
Jul ’23
pushtotalk in background mode
When the app is open and the pushtotalk notification is sent to the app the app calls following functions func incomingPushResult(channelManager: PTChannelManager, channelUUID: UUID, pushPayload: [String : Any]) -> PTPushResult { func channelManager(_ channelManager: PTChannelManager, didActivate audioSession: AVAudioSession) { Once the app goes into background mode only pt 1 function is getting called and not pt 2 function. Could you pls clarify how to resolve this issue. Also i get error sometimes 2023-05-10 07:47:55.655278+0530 bhnonlineazan[674:48861] [connection] nw_read_request_report [C3] Receive failed with error "Socket is not connected"
1
0
1.1k
May ’23
I cannot Configure our audio session and begin recording
hi , trying to call begin transmission method by System UI, but I cannot wait for the framework to call this method  func channelManager(   _ channelManager: PTChannelManager,   didActivate audioSession: AVAudioSession ) If this method cannot callback, I cannot Configure our audio session and begin recording, I don’t know how to that?
1
0
1.3k
May ’23
pushtotalk is not a valid value for apns-push-type in Firebase cloud messaging
Hello, we are unable to use the ios push to talk framework using cloud messaging. it says that Error: Invalid [apns-push-type] set for apns platform. IOS manual says that the push type to be set to pushtotalk. but thsi s not allowed in messaging().send(message) const message = { notification: { title: 'test' }, apns: { headers: { 'apns-push-type': 'pushtotalk', 'apns-topic': xxx.xxx.xxx.voip-ptt', 'apns-priority' : '10', 'apns-expiration' : '0' }, payload: { aps: { 'mutable-content': 1 } }, fcm_options: { } }, webpush: { headers: { } }, topic: topicval
1
0
893
May ’23
PTT API doesnt work properly
the cases: The app registered on a PTT channel Server sent a push notification (using a PTT's token) The app receiving the notification process it and open the link to server to read the data stream the user tap the UI (app's or API) button to send voice message works as well Everything works good until the user is unload the app from the memory but keeps the channel active, in this case the App can't open a network connection to the server side to read or write the data stream, even the user tap the API UI button to send a message.
2
0
1.4k
May ’23
Push to Talk and Local Push Connectivity
With PTT we now have the possibility to wake the application up using the new PTT push notification payload. What if the device doesn't have internet access? What if the application uses Local Push Connectivity (with a Network Extension) to provide an alternative communication channel (a socket implementation in the Network Extension) in case there is no internet connection? Is there a way for the Network Extension to post this new type of PTT push notification to wake the application up?
2
0
1.1k
May ’23
Application shows Alert-popup to use Push to Talk framework
Hello All, I am getting following popup for our application, Question, What does it actually mean? We are using following VoIP entitlements, i) com.apple.developer.pushkit.unrestricted-voip ii) com.apple.developer.pushkit.unrestricted-voip.ptt We are getting this popup in iOS 16. Earlier we did not get this popup. SDK version we are using is 16.2 How long can we use these entitlements? What will happen if we do not update to new Push to Talk framework? Thanks.
1
0
1.2k
May ’23
Expected behavior after device restart?
What is the expected behavior when a user restarts their device without leaving a channel? I am testing this use case with my application and the system UI seems to be in a strange state. After the restart, the system PTT UI uses the name of my application for the channel title and instead of an icon, it uses the initials from my application name as the icon. It does not request a PTChannelDescriptor from my application. It appears that my application is not being called at all if I open the system PTT UI and try to send audio. Is this a known issue that I'm not handling properly or is this a bug with PTT?
1
0
990
Mar ’23
PushToTalk: Issues with beginning transmission
Hi, trying to implement a simple PushToTalk app but I cannot seem to begin transmitting. When I start a transmission programmatically in my app in the foreground: self.channelManager.requestBeginTransmitting(channelUUID: channelUUID) This throws an error: Error Domain=com.apple.pushtotalk.channel Code=1 "(null)" Which seems to map to the appNotForeground error? https://developer.apple.com/documentation/pushtotalk/ptchannelerror/code When I try transmitting from the background, nothing happens at all. Any thoughts?
6
0
3.2k
Nov ’22
PTChannelManager Discrepancies in Documentation
Hello, I am reading up on the documentation and seems to have some discrepancies but wanted to double check. In Overview for PTChannelManager, it states "Multiple calls to channelManager(delegate:restorationDelegate:completionHandler:) result in the system returning the same shared instance, so store the channel manager in an instance variable." https://developer.apple.com/documentation/pushtotalk/ptchannelmanager However if we look at the documentation for creation of a channel manager, in the completionHandler, it states that it will return "A new channel manager instance." https://developer.apple.com/documentation/pushtotalk/ptchannelmanager/4031737-channelmanager So is it a shared instance that gets returned or will a new instance be created? Need to know if we will need to implement a multiDelegate Pattern or not for this scenario for example if someone else called this function, would they take over the callbacks or would they get their own instance? Thank you.
Replies
1
Boosts
0
Views
1k
Activity
Mar ’24
PushToTalk - On App termination
How to programmatically leave a channel when an app is forced closed? Currently when a user closes the app, the channel remains active and can still talk via the status bar. However i imagine if a user force closes the app, they no longer want to talk. I tried implementing this via  func applicationWillTerminate(_ application: UIApplication) { // leave channel code } but it doesn't seem to work
Replies
3
Boosts
0
Views
1.8k
Activity
Dec ’23
Push to talk Framework and Audio Session
I am receiving a push through "incomingPushResultForChannelManager" of Push to talk Framework and setting a remote participant through "pushResultForActiveRemoteParticipant" or setting a remote participant using "setActiveRemoteParticipant" directly in the PTT App without receiving a push. When the app establishes a remote participant on a channel, an Audio Session is started anew and will receive an active Audio Session. The problem is that the time to activate this Audio Session is not short. For this reason, there are many cases where the first part of the other party's voice passes without being played. Also, if the app is running in the foreground, even if it doesn't acquire a new audio session, it can play the voice through the app's own audio session. However, by restarting the Audio Session, the Audio Session is changed unnecessarily and the voice playback is delayed. Question. Can I set the Audio Session to not change when setting the remote participant's information? If this is not possible, please advise on a solution for the case where the audio session is activated after the voice starts to be received.
Replies
2
Boosts
0
Views
2k
Activity
Oct ’23
Source code for Push To Talk demo app?
I was just watching the Enhance voice communication with Push To Talk WWDC22 session video and was wondering (a few questions) -- (1) (when) will you be making the demo app available that was shown at the beginning of the video? (2) There was some detail given regarding the new APNs push type ("pushtotalk"), but it was unclear to me if that's something I need to handle manually, or if those will be sent automatically when I do channelManager.requestBeginTransmitting? (3) How does the audio data itself get routed around? Is that handled by the system between the requestBeginTransmitting and stopTransmitting calls? Or somehow part of the APNs payload? Or something we must handle? Thank you! thanks!!
Replies
6
Boosts
1
Views
3.9k
Activity
Oct ’23
Push To Talk System UI doesn't activate audio session
So I have been able to get my app to record and receive PTT on the foreground successfully but when pressed the talk button in the system UI or when my app is in the background, the audio session is never activated hence func channelManager(_ channelManager: PTChannelManager, didDeactivate audioSession: AVAudioSession) never get called. My question is, is there any step or requirement that might prevent the system UI from activating the audio session even though the same code works perfectly fine whenever the app is in the foreground. I appreciate your help in advance.
Replies
1
Boosts
0
Views
908
Activity
Sep ’23
func channelManager(_ channelManager: PTChannelManager, didActivate audioSession: AVAudioSession) not called in background
I tried to press system Talk button to talk in channel when my APP in background, I see the channelManager(_ : PTChannelManager, _: UUID, didBeginTransmittingFrom _: PTChannelTransmitRequestSource) is called, but the function func channelManager(_ : PTChannelManager, didActivate _: AVAudioSession) never called. When my APP in foreground, everything works fine. I've set the APP's capability Background Modes -> Push to Talk. Anyone can help?
Replies
3
Boosts
0
Views
1.3k
Activity
Aug ’23
Push To Talk expected behavior when app terminated
I'm implementing Push To Talk functionality on my app. Now I have some trouble after app process is terminated by user. In my implementation, I download voice file in func channelManager(_ channelManager: PTChannelManager, didActivate audioSession: AVAudioSession) method. It works fine when app is foreground, and also ok when app is background until app process terminated. After app process terminated, system displays PTT connection status by blue icon in status bar. Then I got some PTT message from another person, func incomingPushResult(channelManager: PTChannelManager, channelUUID: UUID, pushPayload: [String : Any]) and func channelManager(_ channelManager: PTChannelManager, didActivate audioSession: AVAudioSession) are called, but download process is not finished and I cannot get voice file. What is the expected way to download voice file in such case?
Replies
1
Boosts
0
Views
831
Activity
Aug ’23
PTChannelDescriptor is not changing when I leave and then join another channel
I am using the same ChannelManager, however when switching to another channel, I leave the channel and then requestToJoin a new channel with the new inputted ChannelName and PTDescriptor however the name and image are not changing when I go to background to see the Native UI. Am I missing something to call for an update for the PTDescriptor?
Replies
1
Boosts
0
Views
1k
Activity
Jul ’23
pushtotalk in background mode
When the app is open and the pushtotalk notification is sent to the app the app calls following functions func incomingPushResult(channelManager: PTChannelManager, channelUUID: UUID, pushPayload: [String : Any]) -> PTPushResult { func channelManager(_ channelManager: PTChannelManager, didActivate audioSession: AVAudioSession) { Once the app goes into background mode only pt 1 function is getting called and not pt 2 function. Could you pls clarify how to resolve this issue. Also i get error sometimes 2023-05-10 07:47:55.655278+0530 bhnonlineazan[674:48861] [connection] nw_read_request_report [C3] Receive failed with error "Socket is not connected"
Replies
1
Boosts
0
Views
1.1k
Activity
May ’23
PushToTalk Backend Requirements
I'm looking to see if someone could point me in the right direction in terms of understanding what's needed for to host a backend server for the new Push To Talk API. Additionally, I'm curious to know what type of latency times people are getting. We've ran a mumble server which unfortunately had a considerable amount of latency.
Replies
1
Boosts
1
Views
2.0k
Activity
May ’23
I cannot Configure our audio session and begin recording
hi , trying to call begin transmission method by System UI, but I cannot wait for the framework to call this method  func channelManager(   _ channelManager: PTChannelManager,   didActivate audioSession: AVAudioSession ) If this method cannot callback, I cannot Configure our audio session and begin recording, I don’t know how to that?
Replies
1
Boosts
0
Views
1.3k
Activity
May ’23
Push To Talk first recording bug
How to reproduce: Launch ptt app join channel call requestBeginTransmitting in delegate method didActivate audioSession prepare AVAudioRecorder and call record Error: AVAudioRecorder.record() returns false If I reinstantiate and run AVAudioRecorder.record() right away then it returns true. It happens only on first audio recording after app launch.
Replies
3
Boosts
0
Views
1.1k
Activity
May ’23
pushtotalk is not a valid value for apns-push-type in Firebase cloud messaging
Hello, we are unable to use the ios push to talk framework using cloud messaging. it says that Error: Invalid [apns-push-type] set for apns platform. IOS manual says that the push type to be set to pushtotalk. but thsi s not allowed in messaging().send(message) const message = { notification: { title: 'test' }, apns: { headers: { 'apns-push-type': 'pushtotalk', 'apns-topic': xxx.xxx.xxx.voip-ptt', 'apns-priority' : '10', 'apns-expiration' : '0' }, payload: { aps: { 'mutable-content': 1 } }, fcm_options: { } }, webpush: { headers: { } }, topic: topicval
Replies
1
Boosts
0
Views
893
Activity
May ’23
PTT API doesnt work properly
the cases: The app registered on a PTT channel Server sent a push notification (using a PTT's token) The app receiving the notification process it and open the link to server to read the data stream the user tap the UI (app's or API) button to send voice message works as well Everything works good until the user is unload the app from the memory but keeps the channel active, in this case the App can't open a network connection to the server side to read or write the data stream, even the user tap the API UI button to send a message.
Replies
2
Boosts
0
Views
1.4k
Activity
May ’23
Push to Talk and Local Push Connectivity
With PTT we now have the possibility to wake the application up using the new PTT push notification payload. What if the device doesn't have internet access? What if the application uses Local Push Connectivity (with a Network Extension) to provide an alternative communication channel (a socket implementation in the Network Extension) in case there is no internet connection? Is there a way for the Network Extension to post this new type of PTT push notification to wake the application up?
Replies
2
Boosts
0
Views
1.1k
Activity
May ’23
Application shows Alert-popup to use Push to Talk framework
Hello All, I am getting following popup for our application, Question, What does it actually mean? We are using following VoIP entitlements, i) com.apple.developer.pushkit.unrestricted-voip ii) com.apple.developer.pushkit.unrestricted-voip.ptt We are getting this popup in iOS 16. Earlier we did not get this popup. SDK version we are using is 16.2 How long can we use these entitlements? What will happen if we do not update to new Push to Talk framework? Thanks.
Replies
1
Boosts
0
Views
1.2k
Activity
May ’23
Expected behavior after device restart?
What is the expected behavior when a user restarts their device without leaving a channel? I am testing this use case with my application and the system UI seems to be in a strange state. After the restart, the system PTT UI uses the name of my application for the channel title and instead of an icon, it uses the initials from my application name as the icon. It does not request a PTChannelDescriptor from my application. It appears that my application is not being called at all if I open the system PTT UI and try to send audio. Is this a known issue that I'm not handling properly or is this a bug with PTT?
Replies
1
Boosts
0
Views
990
Activity
Mar ’23
PushToTalk: Issues with beginning transmission
Hi, trying to implement a simple PushToTalk app but I cannot seem to begin transmitting. When I start a transmission programmatically in my app in the foreground: self.channelManager.requestBeginTransmitting(channelUUID: channelUUID) This throws an error: Error Domain=com.apple.pushtotalk.channel Code=1 "(null)" Which seems to map to the appNotForeground error? https://developer.apple.com/documentation/pushtotalk/ptchannelerror/code When I try transmitting from the background, nothing happens at all. Any thoughts?
Replies
6
Boosts
0
Views
3.2k
Activity
Nov ’22