ast_copy_string(p->uri, invite_buf, sizeof(p->uri));
- /* If there is a VXML URL append it to the SIP URL */
- if (p->options && p->options->vxml_url) {
+ if (sipmethod == SIP_NOTIFY && !ast_strlen_zero(p->theirtag)) {
+ /* If this is a NOTIFY, use the From: tag in the subscribe (RFC 3265) */
+ snprintf(to, sizeof(to), "<sip:%s>;tag=%s", p->uri, p->theirtag);
+ } else if (p->options && p->options->vxml_url) {
+ /* If there is a VXML URL append it to the SIP URL */
snprintf(to, sizeof(to), "<%s>;%s", p->uri, p->options->vxml_url);
} else {
snprintf(to, sizeof(to), "<%s>", p->uri);
}
+
memset(req, 0, sizeof(struct sip_request));
init_req(req, sipmethod, p->uri);
snprintf(tmp, sizeof(tmp), "%d %s", ++p->ocseq, sip_methods[sipmethod].text);
[general]
parkext => 700 ; What extension to dial to park
-parkpos => 701-720 ; What extensions to park calls on
+parkpos => 701-720 ; What extensions to park calls on. These needs to be
+ ; numeric, as Asterisk starts from the start position
+ ; and increments with one for the next parked call.
context => parkedcalls ; Which context parked calls are in
;parkingtime => 45 ; Number of seconds a call can be parked for
; (default is 45 seconds)
;xfersound = beep ; to indicate an attended transfer is complete
;xferfailsound = beeperr ; to indicate a failed transfer
;adsipark = yes ; if you want ADSI parking announcements
-;findslot => next ; Continue to the 'next' parking space. Defaults to 'first' available
+;findslot => next ; Continue to the 'next' free parking space.
+ ; Defaults to 'first' available
;pickupexten = *8 ; Configure the pickup extension. Default is *8
;featuredigittimeout = 500 ; Max time (ms) between digits for
; feature activation. Default is 500