You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> Please check [details of PSTN calling offering](../../../../concepts/numbers/sub-eligibility-number-capability.md). For preview program access, [apply to the early adopter program](https://aka.ms/ACS-EarlyAdopter).
33
+
> See [details of PSTN calling offering](../../../../concepts/numbers/sub-eligibility-number-capability.md). For preview program access, [apply to the early adopter program](https://aka.ms/ACS-EarlyAdopter).
34
+
35
+
To place a 1:n call to a user and a public switched telephone network (PSTN) number, you need to specify the phone number of the recipient or recipients.
36
+
37
+
Your Communication Services resource must be configured to enable PSTN calling:
30
38
31
-
To place a 1:n call to a user and a PSTN number you have to specify the phone number of callee.
32
-
Your Communication Services resource must be configured to allow PSTN calling:
A `room` offers application developers better control over **who** can join a call, **when** they meet and **how** they collaborate. To learn more about `rooms`, you can read the [conceptual documentation](../../../../concepts/rooms/room-concept.md)or follow the [quick start guide](../../../../quickstarts/rooms/join-rooms-call.md).
94
+
A `room` offers application developers better control over *who* can join a call, *when* they meet and *how* they collaborate. For more information about rooms, see [Rooms API for structured meetings](../../../../concepts/rooms/room-concept.md)and [Join a room call](../../../../quickstarts/rooms/join-rooms-call.md).
88
95
89
96
## Join a group call
90
-
To start a new group call or join an ongoing group call you have to call the 'join' method and pass an object with a `groupId` property. The value has to be a GUID.
97
+
98
+
To start a new group call or join an ongoing group call, you need to call the `join` method and pass an object with a `groupId` property. The value has to be a GUID.
While you are in a call, the hardware volume keys on the phone should allow the user to change the call volume.
178
-
This is done by using the method `setVolumeControlStream` with the stream type `AudioManager.STREAM_VOICE_CALL` on the Activity where the call is being placed.
179
-
This allows the hardware volume keys to change the volume of the call (denoted by a phone icon or something similar on the volume slider), preventing changing the volume for other sound profiles, like alarms, media or system wide volume. For more information, you can check [Handling changes in audio output
While participants are in a call, the hardware volume keys on the phone should enable the user to change the call volume.
187
+
188
+
Use the method `setVolumeControlStream` with the stream type `AudioManager.STREAM_VOICE_CALL` on the Activity where the call is happening.
189
+
190
+
This method enables the hardware volume keys to change the volume of the call, denoted by a phone icon or something similar on the volume slider. It also prevents changes to volume by other sound profiles, like alarms, media, or system wide volume. For more information, see [Handling changes in audio output | Android Developers](https://developer.android.com/guide/topics/media-apps/volume-and-earphones).
>To use thisAPI please use the AzureCommunicationServicesCallingAndroidSDK version 2.11.0 or higher.
296
+
>Use the AzureCommunicationServicesCallingAndroidSDK version 2.11.0 or higher.
269
297
270
-
Now when a PSTN participant is muted, they should get an announcement that they have been muted and that they can press a key combination (e.g. *6) to unmute themselves. When they press *6, they should be unmuted.
298
+
Whena PSTN participant is muted, they receive an announcement that they're muted and that they can press a key combination (such as **\*6**) to unmute themselves. When they press **\*6**, they are unmuted.
271
299
272
-
To mute all other participants in a call, use the `muteAllRemoteParticipants` APIon the call.
300
+
To mute all other participants in a call, use the `muteAllRemoteParticipants` API operation.
273
301
274
302
```java
275
303
call.muteAllRemoteParticipants();
276
304
```
277
305
278
-
To mute a specific remote participant, use the `mute` API on a given remote participant.
306
+
To mute a specific remote participant, use the `mute` API operation on a given remote participant.
279
307
280
308
```java
281
309
remoteParticipant.mute();
282
310
```
283
311
284
-
To notify the local participant they have been muted by others, subscribe to the `onMutedByOthers` event.
312
+
To notify the local participant that they're muted by others, subscribe to the `onMutedByOthers` event.
285
313
286
314
## UsingForegroundServices
287
315
288
-
In cases when you want to run a uservisible task even when your application is in background, you can use [Foreground Services](https://developer.android.com/guide/components/foreground-services).
316
+
Ifyou want to run a user-visible task even when your application is in background, you can use [ForegroundServices](https://developer.android.com/guide/components/foreground-services).
289
317
290
-
Using Foreground Services, you can for example, keeps a user visible notification when your application has an active call. This way, even if the user goes to the homescreen or removes the application from the [recent's screen](https://developer.android.com/guide/components/activities/recents), the call will continue to be active.
318
+
UseForegroundServices, for example, to provide users with a visible notification when your application has an active call. This way, even if the user goes to the homescreen or removes the application from the [recents screen](https://developer.android.com/guide/components/activities/recents), the call continues to be active.
291
319
292
320
If you don't use a Foreground Service while in a call, navigating to the homescreen can keep the call active, but removing the application from the recent's screen can stop the call if the AndroidOS kills your application's process.
293
321
294
-
You should start the Foreground Service when you start/join a call, for example:
322
+
You should start the Foreground Service when a user starts or joins a call, for example:
And stop the Foreground Service when you hang up the call or the call's status is Disconnected, for example:
329
+
You should also stop the Foreground Service when you hang up the call or the call's status is Disconnected, for example:
302
330
303
331
```java
304
332
call.hangUp(newHangUpOptions()).get();
305
333
stopService(yourForegroundServiceIntent);
306
334
```
307
335
308
-
### Notes on using Foreground Services
336
+
### ForegroundService details
309
337
310
-
Keep in mind that scenarios like stopping an already running Foreground Service when the app is removed from the recent's list, will remove the uservisible notification and the Android OS can keep your application process alive for some extra period of time, meaning that the call can still be active during this period.
338
+
Keep in mind that scenarios like stopping an already running ForegroundService when the app is removed from the recent's list removes the user-visible notification. In this case the Android OS can keep your application process alive for some extra period of time, meaning that the call can remain active during this period.
311
339
312
-
If your application is stopping the Foreground Service on the service `onTaskRemoved` method for example, your application can start/stop audio and video according to your [Activity Lifecycle](https://developer.android.com/guide/components/activities/activity-lifecycle) like stopping audio and video when your activity is destroyed with the `onDestroy` method override.
340
+
If your application is stopping the Foreground Service on the service `onTaskRemoved` method, for example, your application can start or stop audio and video according to your [Activity Lifecycle](https://developer.android.com/guide/components/activities/activity-lifecycle). Such as stopping audio and video when your activity is destroyed with the `onDestroy` method override.
0 commit comments