When performing an attended (consultative) transfer to an external number via CTI (Phone Island / /astproxy/atxfer) generates an outbound INVITE from the proxy with SRTP/encryption because the isTrunk SIP header is not present. The provider rejects the call with 488 Not acceptable here.
The same transfer executed from a physical phone works, and the INVITE includes isTrunk: 1.
Steps to reproduce
- Configure an external trunk that requires SRTP encryption disabled (
isTrunk: 1)
- Place a call involving an internal user/extension.
- From Phone Island UI, start an attended/consultative transfer to an external number (CTI/server-side transfer via
/astproxy/atxfer).
- Observe the outbound INVITE sent by the proxy does not include the
isTrunk SIP header and carries encrypted media (SRTP/crypto).
- Provider replies with
488 Not acceptable here and the transfer fails.
- Repeat the same scenario using a physical phone to transfer to the same external number.
- Observe the INVITE includes
isTrunk: 1 and the transfer succeeds.
Expected behavior
CTI transfers to external/trunk destinations should follow the same outbound/trunk call path as phone-originated transfers, ensuring isTrunk: 1 is present (or equivalent behavior), and the provider accepts the call.
Actual behavior
CTI attended transfer to an external number does not set isTrunk, resulting in encrypted media being offered and the provider rejecting the INVITE with 488 Not acceptable here.
See also
When performing an attended (consultative) transfer to an external number via CTI (Phone Island /
/astproxy/atxfer) generates an outbound INVITE from the proxy with SRTP/encryption because theisTrunkSIP header is not present. The provider rejects the call with488 Not acceptable here.The same transfer executed from a physical phone works, and the INVITE includes
isTrunk: 1.Steps to reproduce
isTrunk: 1)/astproxy/atxfer).isTrunkSIP header and carries encrypted media (SRTP/crypto).488 Not acceptable hereand the transfer fails.isTrunk: 1and the transfer succeeds.Expected behavior
CTI transfers to external/trunk destinations should follow the same outbound/trunk call path as phone-originated transfers, ensuring
isTrunk: 1is present (or equivalent behavior), and the provider accepts the call.Actual behavior
CTI attended transfer to an external number does not set
isTrunk, resulting in encrypted media being offered and the provider rejecting the INVITE with488 Not acceptable here.See also