code: private void enforceDefaults() {
          if (indexOfTo == -1) {
              withToHeader(generateDefaultToHeader());
          }
  
          if (isBuildingRequest() && indexOfMaxForwards == -1) {
              withMaxForwardsHeader(MaxForwardsHeader.create());
          }
  
          if (indexOfCallId == -1) {
              withCallIdHeader(CallIdHeader.create());
          }
  
          if (indexOfCSeq == -1) {
              withCSeqHeader(generateDefaultCSeqHeader());
          }
      }
docs: See {@link SipMessage.Builder#withNoDefaults()}, which describes what defaults will
  be pushed. They are copied here for reference:
  
  <ul>
  <li>{@link ToHeader} - the request-uri will be used to construct the to-header</li>
  <li>{@link CSeqHeader} - a new CSeq header will be added where the
  method is the same as this message and the sequence number is set to 1</li>
  <li>{@link CallIdHeader} - a new random call-id will be added</li>
  <li>{@link MaxForwardsHeader} - if we are building a request, then a max forwards of 70 will be added</li>
  <li>{@link ContentLengthHeader} - Will be added if there is a body
  on the message and the length set to the correct length.</li>
  </ul>