Rate this page:

Sending Faxes to SIP Destinations

We have made the difficult decision to disable Programmable Fax for all accounts on December 17, 2021. For new and inactive accounts, access to Programmable Fax is disabled effective immediately. We recognize the challenges this decision might cause and have provided detailed migration plans to prevent disruptions.

For Japan customers, please refer to this migration plan. For all other customers, please refer to this migration plan. Learn more.

Use Twilio's REST API to send faxes to your SIP-enabled endpoints. If you are unfamiliar with SIP, or want more information on how Twilio works with your SIP endpoint, please see the SIP overview.

HTTP POST to Faxes

Initiate SIP sessions via the REST API by POSTing to the same faxes resource used to initiate traditional fax sessions (see sending faxes for more information). For example, send a fax over SIP by POSTing to your account's fax list resource URI:

POST Parameters

All outgoing fax features and parameters are supported -- the only difference is that you pass different values in the To and From parameters. In the To parameter, put the SIP URI you are trying to connect to. In the From parameter, specify the user you want to show up in the From header in the SIP request.

Required Parameters

Parameter Description
To The SIP URI to which you want to send the fax (📇 PII MTL: 120 days)

The To parameter specifies a SIP address for Twilio to connect to. The body of the URI element should be a valid SIP URI under 256 characters. For example:

Pass headers in the To parameter by appending them to the end of the SIP URI. For certain helper libraries, "&" will need to be encoded as %26 (please see the documentation for the library you are using). The total characters passed in a header must be under 1024. For example:

Set a parameter on your SIP URI to specify what transport protocol you want to use. Currently, this is limited to TCP and UDP. By default, Twilio sends your SIP INVITE over UDP. Change this by using the transport parameter:;transport=tcp

Optional Parameters

Parameter Description
From This value is used to populate the username portion of the From header that is passed to the SIP endpoint. This may be any alphanumeric character, as well as the plus, minus, underscore, and period characters (+-_.). No spaces or other characters are allowed. (📇 PII MTL: 120 days)
SipAuthUsername Your authentication username (max 256 characters). (🏢 not PII)
SipAuthPassword The password for the user (max 256 characters). (🏢 not PII)


Example 1

Send a Fax Using SIP.

        Example 2

        Pass user and password for authentication.

              Example 3

              Pass headers and parameters as part of the SIP URI.

                    Rate this page:

                    Need some help?

                    We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Community Forums or browsing the Twilio tag on Stack Overflow.


                          Thank you for your feedback!

                          We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

                          Sending your feedback...
                          🎉 Thank you for your feedback!
                          Something went wrong. Please try again.

                          Thanks for your feedback!

                          Refer us and get $10 in 3 simple steps!

                          Step 1

                          Get link

                          Get a free personal referral link here

                          Step 2

                          Give $10

                          Your user signs up and upgrade using link

                          Step 3

                          Get $10

                          1,250 free SMSes
                          OR 1,000 free voice mins
                          OR 12,000 chats
                          OR more