Điểm:0

Chuyển tiếp các tiêu đề SIP có dấu hoa thị (PJSIP)

lá cờ ru

Tôi đang cố chuyển tiếp một tiêu đề đến cụ thể sang nhánh khác của cuộc gọi, nhưng không thể tìm ra cách chuyển giá trị của tiêu đề trong nhánh đến cho trình xử lý trước khi quay số

[tiêu đề bổ sung]
exten => addheader,1,Verbose("Đặt tiêu đề")
exten => addheader,1,Verbose(${somevar}) ; Biến 'somevar' không còn tồn tại nữa
exten => addheader,n,Set(PJSIP_HEADER(add,X-MyHeader)=test)
exten => addheader,n,Set(PJSIP_HEADER(add,X-MyHeader2)=${somevar})
exten => addheader,n,Return()

[mới đến]
mở rộng => _+4600.,1,Đổ chuông
exten => _+4600.,n,Set(somevar=${PJSIP_HEADER(read,TheHeaderIWantToForward)})
exten => _+4600.,n,Verbose(${somevar}) ; In giá trị chính xác
exten => _+4600.,n,Dial(PJSIP/${EXTEN:1},,b(addheaders^addheader^1))
mở rộng => _+4600.,n,Gác máy

Tôi đã quản lý thành công để thêm X-MyHeader vào nhánh cuộc gọi đi (vì tài liệu dấu hoa thị chỉ ra cách thực hiện), nhưng làm cách nào để tôi thực sự chuyển giá trị sang ngữ cảnh khác? Tôi không thể đọc biến trong "[addheaders]" và tôi chỉ có thể đọc tiêu đề trong "[incoming]"

Điểm:1
lá cờ by

Bạn có thể sử dụng _VARIABLE: https://wiki.asterisk.org/wiki/display/AST/Variable+Inheritance

[xử lý]
exten => addheader,1,NoOp(Giá trị là ${somevar})
tương tự => n,Set(PJSIP_HEADER(add,X-myheader=${somevar})
tương tự => n, Return()

[nội bộ]
mở rộng => 6010,1,NoOp(Thử nghiệm)
tương tự => n,Set(_somevar=${PJSIP_HEADER(read,X-myheader)})
tương tự => n,NoOp(Giá trị là ${somevar})
tương tự => n,Dial(PJSIP/6010,,b(handler^addheader^1))
tương tự => n,Gác máy()
Điểm:0
lá cờ ru

Không biết đây có phải là cách 'đúng' để thực hiện việc này hay không, nhưng tôi đã giải quyết nó bằng cách chấp nhận các tiện ích mở rộng ký tự đại diện trong ngữ cảnh trình bổ sung:

[tiêu đề bổ sung]
exten => _.,1,Set(PJSIP_HEADER(add,X-header-to-be-forwarded)=${EXTEN})
mở rộng => _.,n,Return()

[mới đến]
mở rộng => _+4600.,1,Đổ chuông
exten => _+4600.,2,Set(customheader=${PJSIP_HEADER(read,X-header-to-be-forwarded)})
exten => _+4600.,3,GotoIf($["${customheader}"=""]?7:) ; Bỏ qua việc thêm tiêu đề nếu nó trống
exten => _+4600.,4,Dial(PJSIP/${EXTEN:1},,b(addheaders^${customheader}^1))
mở rộng => _+4600.,5,GoTo(9))
exten => _+4600.,6,Dial(PJSIP/${EXTEN:1})
mở rộng => _+4600.,7,Gác máy

Điều này có một số hạn chế, ví dụ như "." hoặc "," không thể được sử dụng, nhưng nó đã giải quyết được sự cố của chúng tôi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.