Score:0

การส่งต่อส่วนหัว SIP ด้วยเครื่องหมายดอกจัน (PJSIP)

ธง ru

ฉันกำลังพยายามส่งต่อส่วนหัวขาเข้าที่เฉพาะเจาะจงไปยังขาอื่นของการโทร แต่ไม่สามารถหาวิธีส่งค่าของส่วนหัวในขาขาเข้าไปยังตัวจัดการการโทรล่วงหน้าได้

[ส่วนเสริม]
exten => addheader,1,Verbose("การตั้งค่าส่วนหัว")
exten => addheader,1,Verbose(${somevar}) ; ไม่มีตัวแปร 'somevar' อีกต่อไป
exten => addheader,n,Set(PJSIP_HEADER(add,X-MyHeader)=ทดสอบ)
exten => addheader,n,Set(PJSIP_HEADER(add,X-MyHeader2)=${somevar})
exten => addheader,n,Return()

[ขาเข้า]
ขยาย => _+4600.,1,เสียงเรียกเข้า
ขยาย => _+4600.,n,Set(somevar=${PJSIP_HEADER(read,TheHeaderIWantToForward)})
ขยาย => _+4600.,n,รายละเอียด(${somevar}) ; พิมพ์ค่าที่ถูกต้อง
ขยาย => _+4600.,n,Dial(PJSIP/${EXTEN:1},,b(addheaders^addheader^1))
ขยาย => _+4600.,n,วางสาย

ฉันจัดการเพิ่ม X-MyHeader ให้กับขาโทรออกเรียบร้อยแล้ว (เป็นไฟล์ เอกสารเครื่องหมายดอกจัน แสดงวิธีการ) แต่ฉันจะส่งผ่านค่าไปยังบริบทอื่นได้อย่างไร ฉันไม่สามารถอ่านตัวแปรใน "[addheaders]" และฉันอ่านได้เฉพาะส่วนหัวใน "[incoming]"

Score:1
ธง by

คุณสามารถใช้ _VARIABLE: https://wiki.asterisk.org/wiki/display/AST/Variable+Inheritance

[แฮนด์เลอร์]
exten => addheader,1,NoOp(ค่าคือ ${somevar})
เหมือนกัน => n,Set(PJSIP_HEADER(add,X-myheader=${somevar})
เหมือนกัน => n ผลตอบแทน ()

[ภายใน]
ขยาย => 6010,1,NoOp (ทดสอบ)
เหมือนกัน => n,Set(_somevar=${PJSIP_HEADER(read,X-myheader)})
เหมือนกัน => n,NoOp (ค่าคือ ${somevar})
เหมือนกัน => n,Dial(PJSIP/6010,,b(ตัวจัดการ^addheader^1))
เหมือนกัน => n, วางสาย ()
Score:0
ธง ru

ไม่รู้ว่านี่เป็นวิธีที่ 'ถูกต้อง' ในการทำเช่นนี้หรือไม่ แต่ฉันแก้ไขได้โดยยอมรับส่วนขยายสัญลักษณ์แทนในบริบท addheaders:

[ส่วนเสริม]
exten => _.,1,Set(PJSIP_HEADER(add,X-header-to-be-forwarded)=${EXTEN})
ขยาย => _.,n,กลับ ()

[ขาเข้า]
ขยาย => _+4600.,1,เสียงเรียกเข้า
exten => _+4600.,2,Set(customheader=${PJSIP_HEADER(read,X-header-to-be-forwarded)})
exten => _+4600.,3,GotoIf($["${customheader}"=""]?7:) ; ข้ามการเพิ่มส่วนหัวหากว่างเปล่า
ขยาย => _+4600.,4,Dial(PJSIP/${EXTEN:1},,b(addheaders^${customheader}^1))
ขยาย => _+4600.,5,GoTo(9))
ขยาย => _+4600.,6,Dial(PJSIP/${EXTEN:1})
ขยาย => _+4600.,7,วางสาย

ซึ่งมีข้อจำกัดบางประการ เช่น "." หรือ "," ใช้ไม่ได้ แต่ช่วยแก้ปัญหาของเราได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา