Add screening of caller ID for remote (asterisk) connections
authorAndreas Eversberg <jolly@eversberg.eu>
Sun, 19 Aug 2012 08:24:39 +0000 (10:24 +0200)
committerAndreas Eversberg <jolly@eversberg.eu>
Sun, 16 Dec 2012 09:11:46 +0000 (10:11 +0100)
remote.cpp

index d181fb8..ceb3ebc 100644 (file)
@@ -80,6 +80,14 @@ int Premote::message_epoint(unsigned int epoint_id, int message_type, union para
                        else
                                SCPY(param->setup.dialinginfo.context, "lcr");
                }
                        else
                                SCPY(param->setup.dialinginfo.context, "lcr");
                }
+               /* screen */
+               memcpy(&p_callerinfo, &param->setup.callerinfo, sizeof(p_callerinfo));
+               memcpy(&p_redirinfo, &param->setup.redirinfo, sizeof(p_redirinfo));
+               do_screen(1, p_callerinfo.id, sizeof(p_callerinfo.id), &p_callerinfo.ntype, &p_callerinfo.present, p_interface_name);
+               do_screen(1, p_callerinfo.id2, sizeof(p_callerinfo.id2), &p_callerinfo.ntype2, &p_callerinfo.present2, p_interface_name);
+               do_screen(1, p_redirinfo.id, sizeof(p_redirinfo.id), &p_redirinfo.ntype, &p_redirinfo.present, p_interface_name);
+               memcpy(&param->setup.callerinfo, &p_callerinfo, sizeof(p_callerinfo));
+               memcpy(&param->setup.redirinfo, &p_redirinfo, sizeof(p_redirinfo));
 
                new_state(PORT_STATE_OUT_SETUP);
                break;
 
                new_state(PORT_STATE_OUT_SETUP);
                break;