* fix: propagate SIP 488 error to SBC on endpoint allocation failure
When FreeSWITCH returns a SIP 488 'Not Acceptable Here' error during
endpoint allocation (e.g., codec incompatibility), this error was not
being propagated back to the SBC/client. Instead, the call would wait
indefinitely for websocket commands or return a generic 603 response.
Implementation:
- In _evalEndpointPrecondition(), detect SipError by checking
err.type === 'SipError' or err.name === 'SipError'
- Extract the SIP status code (e.g., 488), reason, and the Reason
header from the error response (e.g., Q.850;cause=88;text=INCOMPATIBLE_DESTINATION)
- Send the SIP error response immediately to the SBC with:
- X-Reason header: endpoint allocation failure details
- Reason header: original Q.850 cause from FreeSWITCH
- Notify call status change as Failed with proper SIP status
- Release the call immediately instead of waiting for commands
Also added fallback handling in InboundCallSession._onTasksDone() to
propagate the stored error if immediate send was not possible.
* wip
* Simplify SipError check to only use err.name
* support kill dial if sd ep is media timeout
* support kill dial if sd ep is media timeout
* support kill dial if sd ep is media timeout
* add media timeout reason header to bye message
* wip
* wip
* make configuration for freeswitch media timeout
* make configuration for freeswitch media timeout
* wip
* initial adds for otel tracing
* initial basic testing
* basic tracing for incoming calls
* linting
* add traceId to the webhook params
* trace webhook calls
* tracing: add new commands as tags when receiving async commands over websocket
* tracing new commands
* add summary for config verb
* trace async commands
* bugfix: undefined ref
* tracing: give time for final webhooks before closing root span
* tracing bugfix: span for background gather was not ended
* tracing - minor tag changes
* tracing - add span atttribute for reason call ended
* trace call status webhooks, add app version to trace output
* config: add support for automatically re-enabling
* env var to customize service name in tracing UI
* config: change to use 'sticky' attribute to re-enable bargein automatically
* fix warnings
* when adulting create a new root span
* when background gather triggers bargein via vad clear queue of tasks
* additional trace attributes for dial and refer
* fix dial tracing
* add better summary for dial
* fix prev commit
* add exponential backoff to WsRequestor reconnection logic
* add calling number to log metadata, as this will be frequently the key data given for troubleshooting
* add accountSid to log metadata
* make handshake timeout for ws connections configurable with default 1.5 secs
* rename env var
* fix bug prev checkin
* logging fixes
* consistent env naming
* Dial: handle incoming REFER on either leg by calling referHook, if configured
* lint
* modify payload of referHook
* support target.trunk on rest createCall api
* bugfix: gather partial result hook was not working
* lint
* handling of incoming REFER