Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 65852) +++ channels/chan_sip.c (working copy) @@ -786,6 +786,7 @@ #define SIP_PAGE2_RFC2833_COMPENSATE (1 << 25) /*!< 25: ???? */ #define SIP_PAGE2_BUGGY_MWI (1 << 26) /*!< 26: Buggy CISCO MWI fix */ #define SIP_PAGE2_OUTGOING_CALL (1 << 27) /*!< 27: Is this an outgoing call? */ +#define SIP_PAGE2_REGISTERTRYING (1 << 28) /*!< Whether or not to send 100 Trying responses to REGISTERs */ #define SIP_PAGE2_FLAGS_TO_COPY \ (SIP_PAGE2_ALLOWSUBSCRIBE | SIP_PAGE2_ALLOWOVERLAP | SIP_PAGE2_VIDEOSUPPORT | \ @@ -8371,7 +8372,8 @@ res = AUTH_PEER_NOT_DYNAMIC; } else { ast_copy_flags(&p->flags[0], &peer->flags[0], SIP_NAT); - transmit_response(p, "100 Trying", req); + if (ast_test_flag(&peer->flags[1], SIP_PAGE2_REGISTERTRYING)) + transmit_response(p, "100 Trying", req); if (!(res = check_auth(p, req, peer->name, peer->secret, peer->md5secret, SIP_REGISTER, uri, XMIT_UNRELIABLE, ast_test_flag(req, SIP_PKT_IGNORE)))) { sip_cancel_destroy(p); @@ -10142,7 +10144,8 @@ print_codec_to_cli(fd, &peer->prefs); ast_cli(fd, ")\n"); - ast_cli(fd, " Auto-Framing: %s \n", peer->autoframing ? "Yes" : "No"); + ast_cli(fd, " Auto-Framing : %s \n", peer->autoframing ? "Yes" : "No"); + ast_cli(fd, " 100 on REG : %s\n", ast_test_flag(&peer->flags[1], SIP_PAGE2_REGISTERTRYING) ? "Yes" : "No"); ast_cli(fd, " Status : "); peer_status(peer, status, sizeof(status)); ast_cli(fd, "%s\n",status); @@ -16198,6 +16201,8 @@ ast_parse_allow_disallow(&peer->prefs, &peer->capability, v->value, 1); } else if (!strcasecmp(v->name, "disallow")) { ast_parse_allow_disallow(&peer->prefs, &peer->capability, v->value, 0); + } else if (!strcasecmp(v->name, "registertrying")) { + ast_set2_flag(&peer->flags[1], ast_true(v->value), SIP_PAGE2_REGISTERTRYING); } else if (!strcasecmp(v->name, "autoframing")) { peer->autoframing = ast_true(v->value); } else if (!strcasecmp(v->name, "rtptimeout")) { Index: configs/sip.conf.sample =================================================================== --- configs/sip.conf.sample (revision 65852) +++ configs/sip.conf.sample (working copy) @@ -494,6 +494,7 @@ ; sendrpid ; outboundproxy ; rfc2833compensate +; registertrying ;[sip_proxy] ; For incoming calls only. Example: FWD (Free World Dialup)