Skip to main content

SIP Configuration Guide - WhatsApp Business Calling | Developer Documentation

SIP Configuration Guide - WhatsApp Business Calling

Updated: Dec 15, 2025
When SIP is enabled, you cannot use calling related Graph API endpoints and calling related webhooks are not sent.

Overview

Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, modifying, and terminating real-time communication sessions between two or more endpoints.
WhatsApp Business Calling API supports use of SIP as the signaling protocol instead of our Graph API endpoints and Webhooks.

Before you get started

Before you get started with SIP call signaling, confirm the following:
    You meet overall calling pre-requisitesYour app has messaging permissions for the business phone number you want to enable SIP for.
      Test this by sending and receiving messages using Graph API messaging endpoints, then use the same app to configure your SIP server on the business phone number for calling.Double confirm this by using health status API with PHONE_NUMBER_IDYour app mode is “Live”, not “Development”.You have a standards compliant third party SIP server that supports TLS transport and digest authentication

      Calling flows using SIP

      Before you start, make sure you have enabled and configured SIP on the business phone number. Meta generates a unique SIP user password for each business phone number + app combination. You will need this information and can retrieve it by using the get Call Settings endpoint.

      Security

        TLS transport is mandatory for SIP. Meta will present a valid server cert with subject name that covers our SIP domain wa.meta.vc. Your SIP server should do the same as Meta ensures your cert is valid and subject name covers SIP domain you configured on the business phone number
          Meta does NOT support mutual TLS (aka mTLS). This means, when Meta takes the role of a TLS client, your TLS server should not request Client certificate. If you still request client cert, Meta will present a client cert but the cert subject name would refer to a random dynamic host which will not pass certificate validation.Meta adds transport=TLS to request URI as part of its SIP requests to your SIP serverFor business initiated calls, SIP invite from your SIP server will be challenged using digest auth. See business-initiated calls for more detailsFor user initiated calls, it is highly recommended that you challenge SIP INVITE request from Meta, to use digest auth for more security. See user-initiated calls for more details

          How to test if you have a valid TLS certificate

          When a WhatsApp user calls a business, a common reason for your SIP server to not receive the SIP INVITE from Meta is the certificate validation error. You can use information here to confirm valid setup.
          Run the command openssl s_client -quiet -verify_hostname {hostname} -connect {hostname}:{port} by properly substituting hostname and port with your values
          Example of valid server cert
          $ openssl s_client -quiet -verify_hostname meta-voip.example.com -connect meta-voip.example.com:5061Connecting to 64:ff9b::68f8:b0b8
          depth=2 C=US, ST=NewJersey, L=JerseyCity, O=The USERTRUST Network, CN=USERTrust RSA CertificationAuthority
          verify return:1
          depth=1 C=AT, O=ZeroSSL, CN=ZeroSSL RSA DomainSecureSite CA
          verify return:1
          depth=0 CN=example.com
          verify return:1
          Example of hostname:port not listening on TLS
          openssl s_client -quiet -verify_hostname lb01.voice.usw2.pure.cloud -connect lb01.voice.usw2.pure.cloud:5060Connecting to 34.211.206.63009F0DFB01000000:error:0A000126:SSL routines::unexpected eof while reading:ssl/record/rec_layer_s3.c:693:
          Example of invalid cert
          $ openssl s_client -quiet -verify_hostname meta-inb.byoc.mypurecloud.com -connect meta-inb.byoc.mypurecloud.com:5061Connecting to 64:ff9b::3652:f1c0
          depth=0 jurisdictionC=US, jurisdictionST=California, businessCategory=PrivateOrganization, serialNumber=1515861, C=US, ST=Indiana, L=Indianapolis, O=GenesysCloudServices,Inc., CN=voice.mypurecloud.com
          verify error:num=62:hostname mismatch
          verify return:1
          depth=2 C=US, O=DigiCertInc, OU=www.digicert.com, CN=DigiCertHighAssurance EV Root CA
          verify return:1
          depth=1 C=US, O=DigiCertInc, OU=www.digicert.com, CN=DigiCert SHA2 ExtendedValidationServer CA
          verify return:1
          depth=0 jurisdictionC=US, jurisdictionST=California, businessCategory=PrivateOrganization, serialNumber=1515861, C=US, ST=Indiana, L=Indianapolis, O=GenesysCloudServices,Inc., CN=voice.mypurecloud.com
          verify return:1
          In this case, you can alter the certificate to match your hostname or change your configured SIP server hostname to match your certificate

          Business-initiated calls

          Prerequisites
            You have the required call permission approval from the WhatsApp user
              Learn how to obtain user calling permissionsRetrieve Meta generated SIP password and configure it on your SIP server, so it can respond to digest authentication challenge from Meta SIP servers
              Calling flow
                Send an initial SIP INVITE to our servers. Our SIP domain is wa.meta.vc. To initiate a call to WhatsApp user with phone number 11234567890, the SIP request URI should be ‘sip:[email protected];transport=tls’
                  This request will fail with an “SIP 407 Proxy Authentication required” message.Send a 2nd SIP INVITE with proper Authorization header as per RFC 3261.
                    The Authorization field’s username attribute must match the from header’s user name which is the business phone numberThe password is generated by Meta and you can retrieve it using get Call Settings endpointThe username portion of the from header must be the fully normalized business phone numberThe domain name of the from header must match the SIP server you configured on the business phone numberThe SDP Offer you include supports ICE, DTLS-SRTP and OPUS (essentially WebRTC media)Send the SIP INVITE to the WhatsApp user number you want to call.

                    User-initiated calls

                    Prerequisites
                      If you plan to use SIP Digest Auth, retrieve Meta generated SIP password and configure it on your SIP server, so it can respond to digest authentication challenge from Meta SIP servers
                      Calling flow
                        The WhatsApp user calls business phone number and is unaware of whether the business is using SIP or Graph API. In other words, the user experience is identicalIf the business phone number is SIP enabled, Meta will send an SIP INVITE to the SIP server configured on the business phone numberYou respond with SIP digest auth challenge (recommended) or SIP OK and pass in an SDP answer
                        If you are not receiving SIP INVITE from Meta, refer to SIP specific FAQ to troubleshoot further

                        Custom SIP headers

                        The following custom SIP headers are common to both business and user initiated calls
                        Header name Metadata Description
                        x-wa-meta-call-duration
                        Optional; String
                        Call duration in seconds. This is present on SIP BYE requests from Meta for termination of an established call.
                        x-wa-meta-wacid
                        Optional; String
                        WhatsApp call ID. This is present on SIP INVITE request from Meta for a user-initiated call and SIP BYE requests from Meta for termination of an established call.
                        The following custom SIP headers are specific to user-initiated calls
                        Header name Metadata Description
                        x-wa-meta-cta-payload
                        Optional; String
                        Present when user-initiates a call from call button that has business specified payload. Learn more
                        x-wa-meta-deeplink-payload
                        Optional; String
                        Present when user-initiates a call from call deeplink that has business specified payload. Learn more

                        Configure or update SIP settings on business phone number

                        Use this endpoint to update call settings configuration for an individual business phone number.

                        Endpoint parameters

                        Placeholder Description Sample Value
                        <PHONE_NUMBER_ID>
                        Integer
                        Required

                        The business phone number for which you are updating Calling API settings.
                        +12784358810

                        Body parameters

                        Parameter Description
                        status
                        String
                        Optional

                        Enable or disable SIP call signaling for the given business phone number.
                        Default is DISABLED.
                        When status is ENABLED, this phone number will exclusively use SIP for call signaling and will not work with Graph APIs. No webhooks are sent.
                        When status is set to DISABLED, the SIP servers values are not reset.
                        If you enable SIP on the same phone number again, the previously configured servers values will take effect.
                        You can configure both status and SIP servers in the same request
                        servers
                        String
                        Optional

                        The SIP server routing configuration.
                        Each phone number can have only one SIP server configured. The servers is an array to be futureproof.
                        Previously we allowed multiple apps each with their own SIP server but this setup will not work because Meta will terminate the call after receiving BYE from any of the SIP servers.
                        In the GET payload, if you see multiple SIP servers, it means you’ve used the POST API with different access tokens that belong to different apps.
                        The associated app is extracted from the access token used to make the API call.
                        To delete a previously configured SIP server, pass an empty array to this field. If you still see some servers remaining after you clear, those servers may belong to different apps, so you need to use the corresponding access tokens to clear them.
                        Note that at-least 1 SIP server of any app must exist when SIP status is ENABLED. To clear servers for all applications being used with a business phone number, the SIP status should be DISABLED.
                        hostname — (String) Required
                        The host name of the SIP server.
                        Requests must use TLS.
                        port — (String) Required
                        The port within your SIP server that will accept requests.
                        Requests must use TLS.
                        Default port is 5061
                        request_uri_user_params — (String) Optional
                        An optional field for passing any parameters you want included in the user portion of the request URI used in our SIP INVITE to your SIP server.
                        Max key/value size is 128 characters.
                        An example use case would be Trunk Groups (RFC 4904)
                          sip:[email protected]tgrp=wacalltrunk-context=byoc.example.com
                          This example has two user parameters for tgrp, and trunk-context.
                          The effective SIP request URI line for this would be sip:+1234567890;tgrp=wacall;[email protected]

                          Success response

                          
                          
                          {
                          "success": true
                          }

                          Error response

                          Get phone number calling settings (SIP)

                          Use this endpoint to check the configuration of your Calling API feature settings, including SIP values.
                          This endpoint can return information for other Cloud API feature settings.

                          Endpoint parameters

                          Placeholder Description Sample Value
                          <PHONE_NUMBER_ID>
                          Integer
                          Required

                          The business phone number for which you are retrieving Calling API settings.
                          +12784358810
                          App permission required
                          whatsapp_business_management: Advanced access is required to update use the API for end business clients

                          Error response

                          Sample SIP requests

                          Business-initiated calls (with WebRTC media)

                          Initial SIP INVITE request
                          INVITE sip:+12195550714@wa.meta.vc;transport=tls SIP/2.0Record-Route:<sip:+159.65.244.171:5061;transport=tls;lr;ftag=Kc9QZg4496maQ;nat=yes>Via: SIP/2.0/TLS 159.65.244.171:5061;received=2803:6081:798c:93f8:5f9b:bfe8:300:0;branch=z9hG4bK0da2.36614b8977461b486ceabc004c723476.0;i=617261Via: SIP/2.0/TLS 137.184.87.1:35181;rport=56533;received=137.184.87.1;branch=z9hG4bKQNa6meey5Dj2g
                          Max-Forwards:69From:<sip:+17125550259@meta-voip.example.com>;tag=Kc9QZg4496maQTo:<sip:+12195550714@wa.meta.vc>Call-ID: dc2c5b33-1b81-43ee-9213-afb56f4e56ba
                          CSeq:96743476 INVITE
                          Contact:<sip:mod_sofia@137.184.87.1:35181;transport=tls;swrad=137.184.87.1~56533~3>User-Agent:SignalWireAllow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
                          Supported: timer, path, replaces
                          Allow-Events: talk, hold, conference, refer
                          Session-Expires:600;refresher=uac
                          Min-SE:90Content-Type: application/sdp
                          Content-Disposition: session
                          Content-Length:2427
                          X-Relay-Call-ID: dc2c5b33-1b81-43ee-9213-afb56f4e56ba
                          Remote-Party-ID:<sip:+17125550259@meta-voip.example.com>;party=calling;screen=yes;privacy=off
                          Content-Type: application/sdp
                          Content-Length:2427<<SDP omitted for brevity>>
                          407 response from Meta
                          SIP/2.0407ProxyAuthenticationRequiredVia: SIP/2.0/TLS 159.65.244.171:5061;received=2803:6081:798c:93f8:5f9b:bfe8:300:0;branch=z9hG4bK0da2.36614b8977461b486ceabc004c723476.0;i=617261Via: SIP/2.0/TLS 137.184.87.1:35181;rport=56533;received=137.184.87.1;branch=z9hG4bKQNa6meey5Dj2g
                          Record-Route:<sip:+159.65.244.171:5061;transport=tls;lr;ftag=Kc9QZg4496maQ;nat=yes>Call-ID: dc2c5b33-1b81-43ee-9213-afb56f4e56ba
                          From:<sip:+17125550259@meta-voip.example.com>;tag=Kc9QZg4496maQTo:<sip:+12195550714@wa.meta.vc>;tag=z9hG4bK0da2.36614b8977461b486ceabc004c723476.0CSeq:96743476 INVITE
                          Proxy-Authenticate:Digest realm="wa.meta.vc",nonce="419ac2415577f8e1",opaque="440badfc05072367",algorithm=MD5,qop="auth"
                          Second SIP INVITE sent with authorization
                          INVITE sip:+12195550714@wa.meta.vc;transport=tls SIP/2.0Record-Route:<sip:+159.65.244.171:5061;transport=tls;lr;ftag=Kc9QZg4496maQ;nat=yes>Via: SIP/2.0/TLS 159.65.244.171:5061;received=2803:6081:798c:93f8:5f9b:bfe8:300:0;branch=z9hG4bK1da2.ed8900012befced853927008d619d374.0;i=617261Via: SIP/2.0/TLS 137.184.87.1:35181;rport=56533;received=137.184.87.1;branch=z9hG4bKry3yp9y12p8mc
                                  Max-Forwards:69From:<sip:+17125550259@meta-voip.example.com>;tag=Kc9QZg4496maQTo:<sip:+12195550714@wa.meta.vc>Call-ID: dc2c5b33-1b81-43ee-9213-afb56f4e56ba
                                  CSeq:96743477 INVITE
                                  Contact:<sip:mod_sofia@137.184.87.1:35181;transport=tls;swrad=137.184.87.1~56533~3>User-Agent:SignalWireAllow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
                                  Supported: timer, path, replaces
                                  Allow-Events: talk, hold, conference, refer
                                  Proxy-Authorization:Digest username="17125550259", realm="wa.meta.vc", nonce="419ac2415577f8e1", uri="sip:[email protected];transport=tls", response="blah", algorithm=MD5, cnonce="/mVZtYFCEj65YQJCrBEAAg", opaque="440badfc05072367", qop=auth, nc=00000001Session-Expires:600;refresher=uac
                                  Min-SE:90Content-Type: application/sdp
                                  Content-Disposition: session
                                  Content-Length:2427
                                  X-Relay-Call-ID: dc2c5b33-1b81-43ee-9213-afb56f4e56ba
                                  Remote-Party-ID:<sip:+17125550259@meta-voip.example.com>;party=calling;screen=yes;privacy=off
                                  Content-Type: application/sdp
                                  Content-Length:2427<<SDP omitted for brevity>>
                          Example error response
                          SIP/2.0403 SIP server wa.meta.vc from INVITE does not match any SIP server configured for phone number id {ID}Via: SIP/2.0/TLS [2803:6080:c954:b533:ecfb:5cec:300:0]:39459;rport=39459;received=2803:6080:c954:b533:ecfb:5cec:300:0;branch=z9hG4bKPjf9f3d0bddb3dbe0c9b1e3b486f39784a;aliasVia: SIP/2.0/TLS 148.72.155.236:5061;rport=30498;received=2803:6080:d014:8e40:ddbb:4ed7:300:0;branch=z9hG4bKPjfd270ec8-7aaf-4a65-b290-4bef3b50b7b7;aliasRecord-Route:<sip:onevc-sip-proxy-dev.fbinfra.net:8191;transport=tls;lr>Record-Route:<sip:wa.meta.vc;transport=tls;lr>Call-ID:91578781-44f1-4268-9a7f-d7efec1abf72
                                  From:<sip:+17125550259@wa.meta.vc>;tag=3a63b370-a697-4a5a-82b4-e8105e23f176
                                  To:<sip:+12195550714@wa.meta.vc>;tag=e0d30a05-657b-47ec-a668-e05ca79f9f05
                                  CSeq:15659 INVITE
                                  Allow: INVITE, ACK, BYE, CANCEL, NOTIFY, OPTIONS
                                  X-FB-External-Domain: wa.meta.vc
                                  Warning:399 wa.meta.vc "SIP server wa.meta.vc from INVITE does not match any SIP server configured for phone number id {ID}"Content-Length:0Content-Length:0
                          SIP BYE
                          BYE sip:+5559800000693@wa.meta.vc;transport=tls;ob SIP/2.0Via: SIP/2.0/TLS 137.184.4.155:5061;received=2803:6080:c074:cac:10ed:4b05:400:0;i=8d2dc2Via: SIP/2.0/TLS 143.198.136.243:35181;rport=38087;received=143.198.136.243Route:<sip:wa.meta.vc;transport=tls;lr>Route:<sip:onevc-sip-proxy.fbinfra.net:8191;transport=tls;lr>Max-Forwards:69From:<sip:+12145551869@meta-voip.example.com>;tag=NcKQ6mtDKSDQBTo:"5559800000693"<sip:+5559800000693@wa.meta.vc>;tag=92a01092-ee78-4870-865f-bc176203a6bd
                          Call-ID: outgoing:wacid.HBgPMjAwNzU2OTA0ODY5OTY1FRIAEhggMjQ4QzUwOUQ1REQ0NDUwNENEQzRFMTgwRTNGQjAwNjEcGAsxMjE0NTU1MTg2ORUCAAACSeq:98734935 BYE
                          User-Agent:SignalWireAllow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
                          Supported: timer, path, replaces
                          Reason: Q.850;cause=16;text="NORMAL_CLEARING"Content-Length:0
                          X-Relay-Call-ID: b72c0c65-e319-41b3-afb7-19ebcca05d38Content-Length:0
                          SIP INVITE (with SDES)
                          INVITE sip:+12195550714@wa.meta.vc;transport=tls SIP/2.0Record-Route:<sip:54.172.60.1:5061;transport=tls;lr;r2=on>Record-Route:<sip:54.172.60.1;lr;r2=on>CSeq:2 INVITE
                          From:"12145551869"<sip:+12145551869@meta-voip.example.com>;tag=28460006_c3356d0b_5cdada8c-cbf0-4369-b02d-cc97d3c36f2b
                          To:<sip:+12195550714@wa.meta.vc>Max-Forwards:66
                          P-Asserted-Identity:<sip:+12145551869@meta-voip.example.com>Min-SE:120Call-ID: f304a1d2cafb8139c1f9ff93a7733586@0.0.0.0Contact:"12145551869"<sip:+12145551869@172.25.10.217:5060;transport=udp>Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
                          Via: SIP/2.0/TLS 54.172.60.1:5061;received=2803:6080:f934:8894:7eb5:24f9:300:0;branch=z9hG4bK1e5a.0da2ace9cc912d9e5f2595ca4acb9847.0Via: SIP/2.0/UDP 172.25.10.217:5060;rport=5060;branch=z9hG4bK5cdada8c-cbf0-4369-b02d-cc97d3c36f2b_c3356d0b_54-457463274351249162Supported: timer
                          User-Agent:TwilioGatewayProxy-Authorization:Digest username="12145551869", realm="wa.meta.vc", nonce="2a487cb01d4ed43b", uri="sip:[email protected];transport=tls", response="3f58df7af575b948625aeffd51bf9060", algorithm=MD5, cnonce="b338deb7f0e004e66353e26d34ad62b7", opaque="725a06fb2cd89a32", qop=auth, nc=00000002Content-Type: application/sdp
                          X-Twilio-CallSid: CA93eac6be615da5e6836c7059e9555348
                          Content-Length:422Content-Type: application/sdp
                          Content-Length:422
                          
                          v=0
                          o=root 11854148721185414872 IN IP4 172.18.155.180
                          s=TwilioMediaGateway
                          c=IN IP4 168.86.138.232
                          t=00
                          m=audio 19534 RTP/SAVP 10708101
                          a=crypto:**************************************************************************
                          a=rtpmap:0 PCMU/8000
                          a=rtpmap:107 opus/48000/2
                          a=fmtp:107 useinbandfec=1
                          a=rtpmap:8 PCMA/8000
                          a=rtpmap:101 telephone-event/8000
                          a=fmtp:1010-16
                          a=ptime:20
                          a=maxptime:20
                          a=sendrecv
                          SIP OK (with SDES)
                          SIP/2.0200 OK
                          Via: SIP/2.0/TLS 54.172.60.1:5061;received=2803:6080:f934:8894:7eb5:24f9:300:0;branch=z9hG4bK1e5a.0da2ace9cc912d9e5f2595ca4acb9847.0Via: SIP/2.0/UDP 172.25.10.217:5060;rport=5060;branch=z9hG4bK5cdada8c-cbf0-4369-b02d-cc97d3c36f2b_c3356d0b_54-457463274351249162Record-Route:<sip:onevc-sip-proxy.fbinfra.net:8191;transport=tls;lr>Record-Route:<sip:wa.meta.vc;transport=tls;lr>Record-Route:<sip:54.172.60.1:5061;transport=tls;lr;r2=on>Record-Route:<sip:54.172.60.1;lr;r2=on>Call-ID: f304a1d2cafb8139c1f9ff93a7733586@0.0.0.0From:"12145551869"<sip:+12145551869@meta-voip.example.com>;tag=28460006_c3356d0b_5cdada8c-cbf0-4369-b02d-cc97d3c36f2b
                          To:<sip:+12195550714@wa.meta.vc>;tag=0d185053-2615-46c7-8ff2-250bda494cf1CSeq:2 INVITE
                          Allow: INVITE, ACK, BYE, CANCEL, NOTIFY, OPTIONS
                          Supported: timer
                          X-FB-External-Domain: wa.meta.vc
                          Contact:<sip:+12195550714@wa.meta.vc;transport=tls;ob;X-FB-Sip-Smc-Tier=collaboration.sip_gateway.sip.prod>;isfocus
                          Content-Type: application/sdp
                          Content-Length:645
                          
                          v=0
                          o=-17466572865952 IN IP4 127.0.0.1
                          s=-
                          t=00
                          a=group:BUNDLE audio
                          a=msid-semantic: WMS 42da9643-cb50-4eca-95d3-ca41b3f1f4bb
                          m=audio 3480 RTP/SAVP 107101
                          c=IN IP4 157.240.19.130
                          a=rtcp:9 IN IP4 0.0.0.0
                          a=mid:audio
                          a=sendrecv
                          a=msid:42da9643-cb50-4eca-95d3-ca41b3f1f4bb WhatsAppTrack1
                          a=rtcp-mux
                          a=crypto:**************************************************************************
                          a=rtpmap:107 opus/48000/2
                          a=fmtp:107 maxaveragebitrate=20000;maxplaybackrate=16000;minptime=20;sprop-maxcapturerate=16000;useinbandfec=1
                          a=rtpmap:101 telephone-event/8000
                          a=maxptime:20
                          a=ptime:20
                          a=ssrc:1238967757 cname:WhatsAppAudioStream1

                          User-initiated calls (with WebRTC media)

                          SIP INVITE
                          INVITE sip:+17015558857@meta-voip.example.com;transport=tls SIP/2.0Via: SIP/2.0/TLS [2803:6080:e888:51aa:d4a4:c5e0:300:0]:33819;rport=33819;received=2803:6080:e888:51aa:d4a4:c5e0:300:0;branch=z9hG4bKPjNvs.IZBnUa1W4l8oHPpk3SUMmcx3MMcE;aliasMax-Forwards:70From:"12195550714"<sip:+12195550714@wa.meta.vc>;tag=bbf1ad6e-79bb-4d9c-8a2c-094168a10beaTo:<sip:+17015558857@meta-voip.example.com>Contact:<sip:+12195550714@wa.meta.vc;transport=tls;ob>;isfocus
                          Call-ID: outgoing:wacid.HBgLMTIxOTU1NTA3MTQVAgASGCAzODg1NTE5NEU1NTBEMTc1RTFFQUY5NjNCQ0FCRkEzRhwYCzE3MDE1NTU4ODU3FQIAAA==CSeq:2824 INVITE
                          Route:<sip:onevc-sip-proxy-dev.fbinfra.net:8191;transport=tls;lr>
                          X-FB-External-Domain: wa.meta.vc
                          Allow: INVITE, ACK, BYE, CANCEL, NOTIFY, OPTIONS
                          User-Agent:FacebookSipGatewayContent-Type: application/sdp
                          Content-Length:1028
                          
                          v=0
                          o=-17411131863672 IN IP4 127.0.0.1
                          s=-
                          t=00
                          a=group:BUNDLE audio
                          a=msid-semantic: WMS 632a909f-1060-4369-96a4-7bd03e291ee7
                          a=ice-lite
                          m=audio 3480 UDP/TLS/RTP/SAVPF 111126
                          c=IN IP4 57.144.135.35
                          a=rtcp:9 IN IP4 0.0.0.0
                          a=candidate:17754698871 udp 212226022357.144.135.353480 typ host generation 0 network-cost 50
                          a=candidate:33557151111 udp 21222627832a03:2880:f343:131:face:b00c:0:699c3480 typ host generation 0 network-cost 50
                          a=ice-ufrag:RmDDkfzkwbexPfbC
                          a=ice-pwd:*************************
                          a=fingerprint:********************************************************************************************************
                          a=setup:actpass
                          a=mid:audio
                          a=sendrecv
                          a=msid:632a909f-1060-4369-96a4-7bd03e291ee7WhatsAppTrack1
                          a=rtcp-mux
                          a=rtpmap:111 opus/48000/2
                          a=rtcp-fb:111 transport-cc
                          a=fmtp:111 maxaveragebitrate=20000;maxplaybackrate=16000;minptime=20;sprop-maxcapturerate=16000;useinbandfec=1
                          a=rtpmap:126 telephone-event/8000
                          a=maxptime:20
                          a=ptime:20
                          a=ssrc:849255537 cname:WhatsAppAudioStream1
                          SIP BYE
                          BYE sip:+5559800000693@wa.meta.vc;transport=tls;ob SIP/2.0Via: SIP/2.0/TLS 137.184.4.155:5061;received=2803:6080:c074:cac:10ed:4b05:400:0;i=8d2dc2Via: SIP/2.0/TLS 143.198.136.243:35181;rport=38087;received=143.198.136.243Route:<sip:wa.meta.vc;transport=tls;lr>Route:<sip:onevc-sip-proxy.fbinfra.net:8191;transport=tls;lr>Max-Forwards:69From:<sip:+12145551869@meta-voip.example.com>;tag=NcKQ6mtDKSDQBTo:"5559800000693"<sip:+5559800000693@wa.meta.vc>;tag=92a01092-ee78-4870-865f-bc176203a6bd
                          Call-ID: outgoing:wacid.HBgPMjAwNzU2OTA0ODY5OTY1FRIAEhggMjQ4QzUwOUQ1REQ0NDUwNENEQzRFMTgwRTNGQjAwNjEcGAsxMjE0NTU1MTg2ORUCAAACSeq:98734935 BYE
                          User-Agent:SignalWireAllow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
                          Supported: timer, path, replaces
                          Reason: Q.850;cause=16;text="NORMAL_CLEARING"Content-Length:0
                          X-Relay-Call-ID: b72c0c65-e319-41b3-afb7-19ebcca05d38Content-Length:0
                          SIP INVITE (with SDES)
                          INVITE sip:+12145551869@meta-voip.example.com;transport=tls SIP/2.0Via: SIP/2.0/TLS [2803:6080:f948:9597::]:57363;rport;branch=z9hG4bKPj3a9f2ad89e4a3df61408aa84f7d9a63e;aliasRecord-Route:<sip:wa.meta.vc;transport=tls;lr>Record-Route:<sip:onevc-sip-proxy.fbinfra.net:8191;transport=tls;lr>Via: SIP/2.0/TLS [2803:6080:f948:9597:d33c:e00:400:0]:5061;branch=z9hG4bKPj3a9f2ad89e4a3df61408aa84f7d9a63e
                                      Via: SIP/2.0/TLS [2803:6080:f948:9597:1ac5:cdf8:300:0]:63057;rport=63057;received=2803:6080:f948:9597:1ac5:cdf8:300:0;branch=z9hG4bKPj-phic0sbns27DiP0OlrxRxgLtNg4mio7;aliasMax-Forwards:69From:"12195550714"<sip:+12195550714@wa.meta.vc>;tag=8a0f7e65-6e9e-4801-bf92-85c3ef2485d9To:<sip:+12145551869@meta-voip.example.com>Contact:<sip:+12195550714@wa.meta.vc;transport=tls;ob>;isfocus
                                      Call-ID: outgoing:wacid.HBgLMTIxOTU1NTA3MTQVAgASGCA4QkY1MTJCQkNFNTgxMEVFRERFRTUzNTFERkE1MDU0MhwYCzEyMTQ1NTUxODY5FQIAAACSeq:31159 INVITE
                                      X-FB-External-Domain: wa.meta.vc
                                      Allow: INVITE, ACK, BYE, CANCEL, NOTIFY, OPTIONS
                                      User-Agent:FacebookSipGatewayContent-Type: application/sdp
                                      Content-Length:645
                          
                          v=0
                          o=-17466599669802 IN IP4 127.0.0.1
                          s=-
                          t=00
                          a=group:BUNDLE audio
                          a=msid-semantic: WMS 07092115-d151-427e-8722-26c70936b104
                          m=audio 3480 RTP/SAVP 111126
                          c=IN IP4 157.240.19.130
                          a=rtcp:9 IN IP4 0.0.0.0
                          a=mid:audio
                          a=sendrecv
                          a=msid:07092115-d151-427e-8722-26c70936b104WhatsAppTrack1
                          a=rtcp-mux
                          a=crypto:**************************************************************************
                          a=rtpmap:111 opus/48000/2
                          a=fmtp:111 maxaveragebitrate=20000;maxplaybackrate=16000;minptime=20;sprop-maxcapturerate=16000;useinbandfec=1
                          a=rtpmap:126 telephone-event/8000
                          a=maxptime:20
                          a=ptime:20
                          a=ssrc:1615009994 cname:WhatsAppAudioStream1
                          SIP OK (with SDES)
                          SIP/2.0200 OK
                                      CSeq:31159 INVITE
                                      Call-ID: outgoing:wacid.HBgLMTIxOTU1NTA3MTQVAgASGCA4QkY1MTJCQkNFNTgxMEVFRERFRTUzNTFERkE1MDU0MhwYCzEyMTQ1NTUxODY5FQIAAAFrom:"12195550714"<sip:+12195550714@wa.meta.vc>;tag=8a0f7e65-6e9e-4801-bf92-85c3ef2485d9To:<sip:+12145551869@meta-voip.example.com>;tag=66596922_c3356d0b_fee164be-566a-4679-a80d-5bfdf1d0aa9eVia: SIP/2.0/TLS 157.240.229.209:5061;rport=51830;received=69.171.251.115;branch=z9hG4bKPj3a9f2ad89e4a3df61408aa84f7d9a63e;aliasVia: SIP/2.0/TLS [2803:6080:f948:9597:d33c:e00:400:0]:5061;branch=z9hG4bKPj3a9f2ad89e4a3df61408aa84f7d9a63e
                                      Via: SIP/2.0/TLS [2803:6080:f948:9597:1ac5:cdf8:300:0]:63057;rport=63057;received=2803:6080:f948:9597:1ac5:cdf8:300:0;branch=z9hG4bKPj-phic0sbns27DiP0OlrxRxgLtNg4mio7;aliasRecord-Route:<sip:54.172.60.1:5060;lr;r2=on;twnat=sip:69.171.251.115:51830>Record-Route:<sip:54.172.60.1:5061;transport=tls;lr;r2=on;twnat=sip:69.171.251.115:51830>Record-Route:<sip:wa.meta.vc;transport=tls;lr>Record-Route:<sip:onevc-sip-proxy.fbinfra.net:8191;transport=tls;lr>Server:TwilioContact:<sip:+172.25.16.223:5060>Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
                                      Content-Type: application/sdp
                                      X-Twilio-CallSid:CAb0d74508fe5fcdf6ec70ea3cf4e9b90bContent-Length:446Content-Type: application/sdp
                                      Content-Length:446
                          
                          v=0
                          o=root 13536703851353670385 IN IP4 172.18.164.24
                          s=TwilioMediaGateway
                          c=IN IP4 168.86.138.176
                          t=00
                          m=audio 15822 RTP/SAVP 111126
                          a=rtpmap:111 opus/48000/2
                          a=fmtp:111 maxplaybackrate=16000;sprop-maxcapturerate=16000;maxaveragebitrate=20000;useinbandfec=1
                          a=rtpmap:126 telephone-event/8000
                          a=fmtp:1260-16
                          a=crypto:**************************************************************************
                          a=ptime:20
                          a=maxptime:20
                          a=sendrecv

                          User-initiated calls with digest auth (with SDES media)

                          Meta SIP server supports digest auth for user initiated calls. Your SIP server should respond with digest auth challenge and Meta will resend the SIP INVITE with challenge response. The username used for digest auth is the (normalized) business phone number and the password is generated by Meta and retrievable using the get Call settings endpoint.
                          First INVITE request from Meta
                          INVITE sip:+12145551869@meta-voip.example.com;transport=tls SIP/2.0Via: SIP/2.0/TLS [2803:6080:f948:9597::]:47237;rport;branch=z9hG4bKPj1e6c665db16b3ecacf32cadb4497fe77;aliasRecord-Route:<sip:wa.meta.vc;transport=tls;lr>Record-Route:<sip:onevc-sip-proxy.fbinfra.net:8191;transport=tls;lr>Via: SIP/2.0/TLS [2803:6080:f948:9597:7253:922a:400:0]:5061;branch=z9hG4bKPj1e6c665db16b3ecacf32cadb4497fe77
                          Via: SIP/2.0/TLS [2803:6080:f8bc:9272:e488:9927:400:0]:58279;rport=58279;received=2803:6080:f8bc:9272:e488:9927:400:0;branch=z9hG4bKPjr33j97A1mx5J8HWHEy2zIgqZYCCIb4Fb;aliasMax-Forwards:69From:"12195550714"<sip:+12195550714@wa.meta.vc>;tag=ece2da15-39e7-4983-ac65-e312f325d94a
                          To:<sip:+12145551869@meta-voip.example.com>Contact:<sip:+12195550714@wa.meta.vc;transport=tls;ob>;isfocus
                          Call-ID: outgoing:wacid.HBgLMTIxOTU1NTA3MTQVAgASGCA2MUI2QUY0MDRCMTUyOTM4QkE5ODEwN0ZGQTAwODkxORwYCzEyMTQ1NTUxODY5FQIAFRoACSeq:9989 INVITE
                          X-FB-External-Domain: wa.meta.vc
                          Allow: INVITE, ACK, BYE, CANCEL, NOTIFY, OPTIONS
                          User-Agent:FacebookSipGatewayContent-Type: application/sdp
                          Content-Length:643
                          
                          v=0
                          o=-17507168679132 IN IP4 127.0.0.1
                          s=-
                          t=00
                          a=group:BUNDLE audio
                          a=msid-semantic: WMS 4e37b099-8aef-45d0-be4f-1cde2ca5a37d
                          m=audio 3480 RTP/SAVP 111126
                          c=IN IP4 57.144.219.49
                          a=rtcp:9 IN IP4 0.0.0.0
                          a=mid:audio
                          a=sendrecv
                          a=msid:4e37b099-8aef-45d0-be4f-1cde2ca5a37dWhatsAppTrack1
                          a=rtcp-mux
                          a=crypto:**************************************************************************
                          a=rtpmap:111 opus/48000/2
                          a=fmtp:111 maxaveragebitrate=20000;maxplaybackrate=16000;minptime=20;sprop-maxcapturerate=16000;useinbandfec=1
                          a=rtpmap:126 telephone-event/8000
                          a=maxptime:20
                          a=ptime:20
                          a=ssrc:215879358 cname:WhatsAppAudioStream1
                          407 Response from partner SIP server
                          SIP/2.0407ProxyAuthentication required
                          CSeq:9989 INVITE
                          Call-ID: outgoing:wacid.HBgLMTIxOTU1NTA3MTQVAgASGCA2MUI2QUY0MDRCMTUyOTM4QkE5ODEwN0ZGQTAwODkxORwYCzEyMTQ1NTUxODY5FQIAFRoAFrom:"12195550714"<sip:+12195550714@wa.meta.vc>;tag=ece2da15-39e7-4983-ac65-e312f325d94a
                          To:<sip:+12145551869@meta-voip.example.com>;tag=45065608_c3356d0b_16001fd8-76d2-45f0-bb35-e0441d6dc4a2
                          Via: SIP/2.0/TLS 31.13.66.215:5061;rport=62080;received=69.171.251.112;branch=z9hG4bKPj1e6c665db16b3ecacf32cadb4497fe77;aliasVia: SIP/2.0/TLS [2803:6080:f948:9597:7253:922a:400:0]:5061;branch=z9hG4bKPj1e6c665db16b3ecacf32cadb4497fe77
                          Via: SIP/2.0/TLS [2803:6080:f8bc:9272:e488:9927:400:0]:58279;rport=58279;received=2803:6080:f8bc:9272:e488:9927:400:0;branch=z9hG4bKPjr33j97A1mx5J8HWHEy2zIgqZYCCIb4Fb;aliasContact:<sip:+172.25.58.54:5060>Proxy-Authenticate:Digest realm="sip.twilio.com",nonce="eyOam_8-l5FVugxsyxFRjnlxq9vy1TjQIMB3mBfJuAvB5gV4",opaque="4a6a068be2ca2032a57912b9a2a6adf7",qop="auth"Content-Length:0Content-Length:0
                          Second INVITE with authorization from Meta
                          INVITE sip:+12145551869@meta-voip.example.com;transport=tls SIP/2.0Via: SIP/2.0/TLS 31.13.66.215:5061;rport;branch=z9hG4bKPj16be0694dc6763eb66de5ec5f262db03;aliasRecord-Route:<sip:wa.meta.vc;transport=tls;lr>Record-Route:<sip:onevc-sip-proxy.fbinfra.net:8191;transport=tls;lr>Via: SIP/2.0/TLS [2803:6080:f948:9597:7253:922a:400:0]:5061;branch=z9hG4bKPj16be0694dc6763eb66de5ec5f262db03
                          Via: SIP/2.0/TLS [2803:6080:f8bc:9272:e488:9927:400:0]:58279;rport=58279;received=2803:6080:f8bc:9272:e488:9927:400:0;branch=z9hG4bKPjYp9LqI0D8zJ.wly5wyMyVaH9fUwIU921;aliasMax-Forwards:69From:"12195550714"<sip:+12195550714@wa.meta.vc>;tag=ece2da15-39e7-4983-ac65-e312f325d94a
                          To:<sip:+12145551869@meta-voip.example.com>Contact:<sip:+12195550714@wa.meta.vc;transport=tls;ob>;isfocus
                          Call-ID: outgoing:wacid.HBgLMTIxOTU1NTA3MTQVAgASGCA2MUI2QUY0MDRCMTUyOTM4QkE5ODEwN0ZGQTAwODkxORwYCzEyMTQ1NTUxODY5FQIAFRoACSeq:9990 INVITE
                          X-FB-External-Domain: wa.meta.vc
                          Allow: INVITE, ACK, BYE, CANCEL, NOTIFY, OPTIONS
                          User-Agent:FacebookSipGatewayProxy-Authorization:Digest username="12145551869", realm="sip.twilio.com", nonce="eyOam_8-l5FVugxsyxFRjnlxq9vy1TjQIMB3mBfJuAvB5gV4", uri="sip:[email protected]", response="b28ed6b8bf1418e3c6eca05ef8c7a0b1", cnonce="TY2SszvYCKitUCBlVLpGiPKMQfmBbj", opaque="4a6a068be2ca2032a57912b9a2a6adf7", qop=auth, nc=00000001Content-Type: application/sdp
                          Content-Length:643
                          
                          v=0
                          o=-17507168679132 IN IP4 127.0.0.1
                          s=-
                          t=00
                          a=group:BUNDLE audio
                          a=msid-semantic: WMS 4e37b099-8aef-45d0-be4f-1cde2ca5a37d
                          m=audio 3480 RTP/SAVP 111126
                          c=IN IP4 57.144.219.49
                          a=rtcp:9 IN IP4 0.0.0.0
                          a=mid:audio
                          a=sendrecv
                          a=msid:4e37b099-8aef-45d0-be4f-1cde2ca5a37dWhatsAppTrack1
                          a=rtcp-mux
                          a=crypto:**************************************************************************
                          a=rtpmap:111 opus/48000/2
                          a=fmtp:111 maxaveragebitrate=20000;maxplaybackrate=16000;minptime=20;sprop-maxcapturerate=16000;useinbandfec=1
                          a=rtpmap:126 telephone-event/8000
                          a=maxptime:20
                          a=ptime:20
                          a=ssrc:215879358 cname:WhatsAppAudioStream1
                          SIP OK from partner SIP server
                          SIP/2.0200 OK
                          CSeq:9990 INVITE
                          Call-ID: outgoing:wacid.HBgLMTIxOTU1NTA3MTQVAgASGCA2MUI2QUY0MDRCMTUyOTM4QkE5ODEwN0ZGQTAwODkxORwYCzEyMTQ1NTUxODY5FQIAFRoAFrom:"12195550714"<sip:+12195550714@wa.meta.vc>;tag=ece2da15-39e7-4983-ac65-e312f325d94a
                          To:<sip:+12145551869@meta-voip.example.com>;tag=29360930_c3356d0b_4933dc58-f035-4597-b075-04b19e552329Via: SIP/2.0/TLS 31.13.66.215:5061;rport=62080;received=69.171.251.112;branch=z9hG4bKPj16be0694dc6763eb66de5ec5f262db03;aliasVia: SIP/2.0/TLS [2803:6080:f948:9597:7253:922a:400:0]:5061;branch=z9hG4bKPj16be0694dc6763eb66de5ec5f262db03
                          Via: SIP/2.0/TLS [2803:6080:f8bc:9272:e488:9927:400:0]:58279;rport=58279;received=2803:6080:f8bc:9272:e488:9927:400:0;branch=z9hG4bKPjYp9LqI0D8zJ.wly5wyMyVaH9fUwIU921;aliasRecord-Route:<sip:54.172.60.0:5060;lr;r2=on;twnat=sip:69.171.251.112:62080>Record-Route:<sip:54.172.60.0:5061;transport=tls;lr;r2=on;twnat=sip:69.171.251.112:62080>Record-Route:<sip:wa.meta.vc;transport=tls;lr>Record-Route:<sip:onevc-sip-proxy.fbinfra.net:8191;transport=tls;lr>Contact:<sip:+172.25.43.84:5060>Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
                          Content-Type: application/sdp
                          X-Twilio-CallSid:CAd4d6e59a356c4d1b0ee85323b2d9dab5Content-Length:444Content-Type: application/sdp
                          Content-Length:444
                          
                          v=0
                          o=root 477560318477560318 IN IP4 172.18.156.61
                          s=TwilioMediaGateway
                          c=IN IP4 168.86.137.174
                          t=00
                          m=audio 12710 RTP/SAVP 111126
                          a=rtpmap:111 opus/48000/2
                          a=fmtp:111 maxplaybackrate=16000;sprop-maxcapturerate=16000;maxaveragebitrate=20000;useinbandfec=1
                          a=rtpmap:126 telephone-event/8000
                          a=fmtp:1260-16
                          a=crypto:**************************************************************************
                          a=ptime:20
                          a=maxptime:20
                          a=sendrecv

                          Configure SDES for SRTP key exchange

                          The Secure Real-time Transport Protocol (SRTP) key exchange is a cryptographic protocol used to securely exchange encryption keys between two parties over an insecure communication channel.
                          You can configure SRTP key exchange to one of two options:
                            DTLS (default) — Industry-standard encrypted key exchange. Recommended.SDES — Plain text key is included in the SDP which is sent over secure signaling protocol like SIP or Graph API. When SDES is used, there is no need for STUN, ICE and DTLS which could help shorten the call setup time.

                            Error response

                            Get SRTP key exchange protocol

                            Endpoint parameters
                            Placeholder Description Sample Value
                            <PHONE_NUMBER_ID>
                            Integer
                            Required

                            The business phone number for which you are updating Calling API settings.
                            +12784358810
                            Response parameters
                            Parameter Description Sample Value
                            srtp_key_exchange_protocol
                            String
                            The type of SRTP key exchange protocol configured for the business phone number queried
                            Possible values are SDES and DTLS.
                            Default is DTLS.
                            Note: If this field has not been explicitly set, it will not be returned.
                            “SDES”
                            Error response

                            IP addresses

                            The IP addresses used for SIP configuration are the same as those listed for the Webhooks in the Cloud API Webhooks IP Addresses section.
                            This reference is solely to indicate the IP addresses to allow-list for SIP traffic. When SIP is enabled, calling related webhooks are not sent.

                            Troubleshooting

                            Refer to SIP FAQ for additional SIP specific questions and answers and SIP Errors for SIP specific errors and solutions