> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # answer > Accepts an inbound call, optionally overriding media options for the answer. ```ts answer(options?): void ``` Accepts an inbound call. The call transitions through `connecting` → `connected` as media negotiation completes. Without `options`, the call answers with the media defaults configured on the [`SignalWire`](/docs/browser-sdk/v4/reference/signalwire) client (typically audio + video). Pass `options` to narrow what's offered — for example, accepting a video call with audio only. `answer` returns synchronously; observe progression through [`status$`](/docs/browser-sdk/v4/reference/webrtc-call/status\$) or [`answered$`](/docs/browser-sdk/v4/reference/webrtc-call/answered\$). ## **Parameters** **`options`** `MediaOptions` Optional media constraints for the answer (`audio`, `video`, and the input-stream / constraint overrides defined on [`MediaOptions`](/docs/browser-sdk/v4/reference/interfaces/media-options)). When omitted, the client-level defaults apply. --- ## **Returns** `void` ## **Examples** ### Accept with defaults ```ts call.answer(); ``` ### Accept audio-only ```ts call.answer({ audio: true, video: false }); ``` ### Accept, then await the connection ```ts import { filter, take } from 'rxjs'; call.answer(); const connected = await call.status$ .pipe(filter((s) => s === 'connected'), take(1)) .toPromise(); ``` ## **See** * [`reject`](/docs/browser-sdk/v4/reference/webrtc-call/reject) to decline the call instead. * [`answered$`](/docs/browser-sdk/v4/reference/webrtc-call/answered\$) to observe the acceptance state. > Accepts an inbound call, optionally overriding media options for the answer.