code: private JBossConvergedSipMetaData mergeSipMetaDataAndSipAnnMetaData(final DeploymentUnit deploymentUnit) {
      	final WarMetaData warMetaData = deploymentUnit.getAttachment(WarMetaData.ATTACHMENT_KEY);
          SipMetaData sipMetaData = deploymentUnit.getAttachment(SipMetaData.ATTACHMENT_KEY);
          SipAnnotationMetaData sipAnnotationMetaData = deploymentUnit.getAttachment(SipAnnotationMetaData.ATTACHMENT_KEY);
          
          JBossConvergedSipMetaData mergedMetaData = new JBossConvergedSipMetaData();
          final JBossWebMetaData override = warMetaData.getJBossWebMetaData();
          final WebMetaData original = null;
          JBossWebMetaDataMerger.merge(mergedMetaData, override, original);
  
          if (sipMetaData == null && sipAnnotationMetaData != null && sipAnnotationMetaData.isSipApplicationAnnotationPresent()) {
              // http://code.google.com/p/sipservlets/issues/detail?id=168
              // When no sip.xml but annotations only, Application is not recognized as SIP App by AS7
              sipMetaData = new Sip11MetaData();
          }
          if (sipMetaData != null) {
  	        try {
  				augmentAnnotations(mergedMetaData, sipMetaData, sipAnnotationMetaData);
  			} catch (ServletException e) {
  				logger.error("Error while augmenting annotation: " + e.getMessage(), e);
  			}
          } else {
          	logger.debug("Deployment does not consist SIP application.");
          }
          return mergedMetaData;
      }
docs: merge DD and annotation meta data and store in WarMetaData.mergedJBossWebMetaData based on SIPWebContext code