@ipcom/asterisk-ari 0.0.146 → 0.0.148

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1206,18 +1206,49 @@ var ChannelInstance = class {
1206
1206
  throw new Error("Media URL is required");
1207
1207
  }
1208
1208
  try {
1209
+ const mediaPath = options.media.replace("sound:", "");
1210
+ console.log("Formatted media path:", mediaPath);
1209
1211
  if (!this.channelData) {
1212
+ console.log("Fetching channel details...");
1210
1213
  this.channelData = await this.getDetails();
1211
1214
  }
1215
+ if (!this.channelData?.id) {
1216
+ throw new Error("Channel ID is not available");
1217
+ }
1218
+ console.log("Channel state:", this.channelData.state);
1212
1219
  const playback = this.client.Playback(playbackId || v4_default());
1220
+ const payload = {
1221
+ media: options.media,
1222
+ ...options.lang && { lang: options.lang }
1223
+ };
1224
+ console.log("Sending playback request:", {
1225
+ channelId: this.id,
1226
+ playbackId: playback.id,
1227
+ payload
1228
+ });
1213
1229
  await this.baseClient.post(
1214
1230
  `/channels/${this.id}/play/${playback.id}`,
1215
- options
1231
+ payload
1216
1232
  );
1233
+ try {
1234
+ const playbackStatus = await playback.get();
1235
+ if (playbackStatus.state !== "playing") {
1236
+ console.warn("Playback not in playing state:", playbackStatus);
1237
+ }
1238
+ playback.once("PlaybackFinished", (event) => {
1239
+ console.log("Playback finished", event);
1240
+ });
1241
+ } catch (error) {
1242
+ console.warn("Could not verify playback status:", error);
1243
+ }
1217
1244
  return playback;
1218
1245
  } catch (error) {
1219
1246
  const message = getErrorMessage(error);
1220
- console.error(`Error playing media on channel ${this.id}:`, message);
1247
+ console.error(`Error playing media on channel ${this.id}:`, {
1248
+ error: message,
1249
+ options,
1250
+ channelState: this.channelData?.state
1251
+ });
1221
1252
  throw new Error(`Failed to play media: ${message}`);
1222
1253
  }
1223
1254
  }